اکسل

همه چیز درباره اکسل

اکسل

همه چیز درباره اکسل

جدا کردن سه رقم سه رقم در جعبه متن

سه شنبه, ۲۲ مهر ۱۳۹۹، ۰۳:۱۱ ب.ظ

در صورتی که نیاز باشد در یک جعبه متن اعداد سه رقم سه رقم جدا شوند(مانند مقادیر مالی که لازم است اینکار انجام شود) از کد زیر استفاده نمایید

 

Private Sub TextBox1_Change()

    TextBox1.Text = Format(TextBox1.Text, "#,##0")

End Sub

نقل شده از:

https://stackoverflow.com/questions/32421055/format-numbers-in-textbox-as-you-type

  • علیرضا باقری

برای رفع مشکل مسیر زیر را دنبال کنید

 

file-option-addins-manage

در این بخش از بخش انتخاب گزینه disabled items را انتخاب نمایید و سپس go را بزنید

در لیست اورده شده فایل مد نظر را انتخاب و enable را بزنید

 

نقل شده از:

https://docs.microsoft.com/en-us/office/troubleshoot/office-suite-issues/error-open-word-excel

 

  • علیرضا باقری

برگرداندن فکوس به جعبه متن#How to put focus to textbox as needed

دوشنبه, ۱۱ فروردين ۱۳۹۹، ۰۶:۱۲ ب.ظ

در یک فرم اکسل که چندین شئی قرارداده شده است بعد از عبور از هر شئی به صورت اتومات و اتوتب مکان نما به شئی بعدی منتقل می شود

گاهی لازم است مکان نما روی یکی از اشیا باقی بماند مثلا فرض کنید در فرم انتخاب کالا با بارکدخوان لازم است مکان نما مدام و تا زمان نیاز کاربر و قرائت بارکدها روی یک جعبه متن باقی باشد و بعد خارج شود که جهت جلوگیری از خروج مکان نما در کد خروج جعبه متن کنسل را true کنید

Dim DisableMyEvents as Boolean

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    If DisableMyEvents then Exit Sub

    ' code to validate
  
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    DisableMyEvents = True
End Sub

 

نقل شده از

https://chandoo.org/forum/threads/text-box-setfocus-problem-data-validation.14034/

  • علیرضا باقری

در صورتی که نمودار در صفحات با اطلاعات زیاد داشته باشیم زمانی که کاربر در صفحه اسکرول به بالا یا پایین نماید نمودارها از محدوده نمایش خارج می شوند در صورتی که نیاز باشد نمودارها هم با اسکرول به مکان جدید منتقل شوند از کدهای زیر استفاده نمائید

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'UpdatebyExtendoffice20161111
    Dim CPos As Double
    Application.ScreenUpdating = False
    CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveSheet.Shapes("Chart 2").Top = CPos
    ActiveWindow.Visible = False
    Application.ScreenUpdating = True
End Sub

 

نقل شده از

https://www.extendoffice.com/documents/excel/4201-excel-keep-chart-in-view.html

  • علیرضا باقری

در صورت نیاز به نمایش یا مخفی شدن یک نمودار از کد زیر استفاده نمایید

ActiveSheet.ChartObjects("Chart 2").Visible = False

نقل شده از

 

https://stackoverflow.com/questions/35936831/how-to-hide-a-chart-in-vba

 

  • علیرضا باقری

خطای error cannot shift objects off sheet

چهارشنبه, ۱۸ ارديبهشت ۱۳۹۸، ۰۳:۱۰ ب.ظ

این خطا در زمان افزودن ردیف یا ستون یا زمان تغییر عرض و ارتفاع سلولها اتفاق می افتد

در محلی که این تغییرات رخ می دهد ردیف یا ستون مخفی شده دارید کافیست انها را از حالت مخفی خارج کرده تغییرات مورد نیاز را اعمال نموده و مجددا ردیف ها یا ستونهای مدنظر مخفی شود

  • علیرضا باقری
زمانیکه لیست باکس بیش از یک ستون داشته باشد اکسل عرض ستون های لیست باکس را به طور مساوی در نظر می گیرد که ممکن است نیاز ما را براورده نکند(فرض کنید یک ستون نام و یک ستون ادرس است که باید ستون ادرس بزرگتر از ستون نام باشد و...)
برای رفع ان و تنظیم دستی عرض ها از کد در فراخوانی فرم استفاده می شود به شرح زیر
جمع اعداد به اندازه کل عرض لیست باکس محاسبه شود
در این مثال تعداد ستون ها 3 و کل عرض لیست باکس 200می باشد

listbox1.ColumnWidths = "50,50,100"

نقل شده از
https://stackoverflow.com/questions/5088787/excel-vba-listbox

  • علیرضا باقری

چناچه یک فایل اکسل در شبکه مورد استفاده قرار گیرد صرفا برای نفر اول قابل خواندن و نوشتن می باشد و برای نفرات بعدی فقط خواندنی گاهی اوقات به علت عدم اطلاع کاربران از این موضوع فایل ها در حالت فقط خواندنی باز شده و تغییرات داده می شود و ذخیره نمی شوند که محل اشکال است لذا راه حل ساده ان بستن قابلیت باز شدن فایل در حالت فقط خواندنی می باشد


Private Sub Workbook_open
  If ThisWorkbook.ReadOnly Then
    ThisWorkbook.close
  End If
End Sub

نقل شده از:
  • علیرضا باقری

روش های مختلف انتخاب کاربرگ excel vba select sheet with variable

پنجشنبه, ۲۴ آبان ۱۳۹۷، ۰۴:۲۳ ب.ظ

برای انتخاب یک sheet در اکسل توسط کد نویسی روش های مختلفی وجود دارد

1- انتخاب با نام وضع شده توسط کاربر

activesheet.name

sheets("name").select

2- انتخاب با نام وضع شده در محیط برنامه نویسی

activesheet.codename

For Each Worksheet In Worksheets
 If Worksheet.CodeName = codename Then
  Worksheet.Select
  Exit For
  End If
Next

3- انتخاب با شماره sheet  از ابتدا یا ایندکس(برگه ها از ابتدا شمارش می شوند و به هر یک شماره ای اختصاص می یابد)

activesheet.index

sheets(i).select

  • علیرضا باقری

فیلتر پیشرفته روی اعداد advanced filter

سه شنبه, ۲۴ مهر ۱۳۹۷، ۰۴:۳۲ ب.ظ

بحث فیلتر پیشرفته روی متون چه در کد نویسی چه در محدوده اکسل مورد نظر بنده نمی باشد که در سایت های فراوانی درباره آن صحبت شده است مشکلی که وجود دارد استفاده از این ابزار جهت کار روی اعداد می باشد

در این حالت این فیلتر هیچ کاربردی ندارد و قابل استفاده روی اعداد نمی باشد

تنها راه تبدیل اعداد به متن و سپس انجام فیلتر می باشد

در کد نویسی جهت تبدیل عدد به متن از تابع str استفاده نمائید

در پایان یاداوری می شود که شرط فیلتر هم حتما به متن تبدیل شود

  • علیرضا باقری