کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

جستجوی افقی + موقعیت مقدار پیداشده در اکسل ( Hlookup+Match )


در تصویر پایین آرگومان Match Type که آپشنال یا انتخابیست  گویای این است که اگر مقدار نداشته باشد دیفالت 1 در نظر گرفته و برگشتی تابع (  اگر مورد جستجو  عدد باشد  ) بزرگترین عددی است که مساوی یا کوچکتر از مقدار جستجو باشد.

اگر صفر در نظر گرفته شود که در صورت پیدا کردن همان مقدار در جدول مورد جستجو تابع درست است وگرنه N/A  میدهد

اگر 1- بگیرید برگشتی تابع کوچکترین مقداریست که از عدد  مورد جستجو بزرگترو یا مساوی باشد 






در تصویر پائین  تابع Match موقعیت سل A6 را در محدوده ی A1 تا A3 را بر می گرداند که در اینجا میشود عدد ۳ ( Match Type را صفر در نظر گرفته که طبق تصویر اول باید مقدار جستجو دقیقا در جدول یا محدوده باشد ) و آرگومان  آخر تابع Hlookup هم که فالز است نشان میدهد که مقدار جستجو دقیقا باید در آن جدول یا محدوده باشد ... در نتیجه تابع Hlookup مقدار جستجو (  Laura ) را در رنج B1 تا H3 مورد جستجو قرار میدهد و مقدار ردیف سوم از آن را برمی گرداند ( عدد 237 )




درتصویر پایین تابع Match موقعیت Salary در رنج A1 تا A5 را پیدا کرده ( فقط در محدوده نه موقعیت در کل Row )  و بر میگرداند ( اگر پیدا نکند N/A  میدهد )  که میشود عدد ۴ ، در تابع Hlookup  باید حقوق یا Salary را طبق مقدار جستجو ( آیدی استخدامی یا  Emp ID )   برگرداند. 


جستجوی افقی در اکسل ( HLookup )


Range_lookup    Optional. A logical value that specifies whether you want HLOOKUP to find an exact match or an approximate match. If TRUE or omitted, an approximate match is returned. In other words, if an exact match is not found, the next largest value that is less than lookup_value is returned. If FALSE, HLOOKUP will find an exact match. If one is not found, the error

. value #N/A is returned

این پارامتر اگر خالی باشد True در نظر گرفته میشود و تقریبا مقداری نزدیک به آن را برخواهد گرداند و اگر False باشد دقیقا همان مقدار ( در مقدار False  اگر پیدا نکرد طبق گفته ی بالا  N/A را بر می گرداند ) 


در شکل پائین آرگومان آخر تابع که آپشنال و انتخابی است ( یعنی اگر پارامتر نداشته باشد هم خطا نخواهد داد ) ذکر نشده در نتیجه  دیفالت True در نظر گرفته شده و عدد برگشتی  ( طبق آرگومان Row_index_num که 2 است ) متناسب با تاریخ جستجو شده  ( Lookup Value )  در  آرگومان Array - Table Range )   تقریبا نزدیک به آن مقداری که باید جستجو شود است 







تغییر فونت یا رنگ کاراکتر در اکسل


داکیومنت آفیس را بیشتر مطالعه کنید 






در رویداد  SelectionChange 


Target.Characters(....).Font.Color/ColorIndex


کد اسکی اعداد در اینترنت هست ، قسمت Numpad هم کد جداگانه دارد و لوپ زدن در طول رشته در سل انتخابی



در ماژولتون و رویداد تغییرانتخابی  در رنج و سل مورد نظر(Cel.Characters(i,1 داخل طول کاراکتر رنگ فونت کاراکتراگر کد اسکی آن برابر عدد بود  را عوض می کنید ( راهنمایی بسیار ارزنده ) 


 چک میکند اگر کاراکتر فرضا [Like [0-9 یا اسکی کد آن با جدول بالا یکی بود فونت آن کاراکتر تغییر بنماید.

درج ردیف و ایجاد ردیف در اکسل

درج ردیف در اکسل در صورتیکه ردیف پاک شود ردیف ها تغییر خواهند نمود 

Row()-1=



ایجاد ردیف اتومات 


ActiveCell.EntireRow.Insert XlShiftDown




فیلتر خودکار در اکسل


فیلتر تمام  ردیف هایی که آیتم ثبتی آنها Printer یا Projector باشد.





کپی  ردیف های فیلتر شده به صفحه ی کاری اضافه شده 



اضافه کردن ردیف


وقتی شما شماره ای در کالمن B بالای Total (در کالمن A ) قرار بدهید ردیف ایجاد و کرسر به کالمن A روی ردیف ایجادشده خواهد رفت.



(Private Sub Worksheet_Change(ByVal Target As Range
If Target.Column <> 2 Then Exit Sub
If Cells(Target.Row, 2).Offset(1, -1) = "Total" Then
Rows(Target.Row + 1).Insert
Cells(Target.Row + 1, 1).Select
End If
End Sub

شمارش ردیف ها در اکسل




Returns a Range object that represents the cell at the end of the region that contains the source range. Equivalent to pressing END+UP ARROW, END+DOWN ARROW, END+LEFT ARROW, or END+RIGHT ARROW. Read-only Range object.

Syntax

(expression.End (Direction



lngLastRow = Cells(Rows.Count, 1).End(xlUp).Row



کنسل کردن رایت کلیک در اکسل



این رویداد زمانی اتفاق می افتد که در صفحه ی کاری کلیک راست انجام  شود.



Private Sub Worksheet_BeforeRightClick(ByVal Target

(As Range, Cancel As Boolean

اگر در آن رنج بود : 

Cancel=True