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

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

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

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

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

جستجو در لیست باکس ( Developer/ActiveX Object / Control )






روش دوم : 


استفاده از تابع SEARCH  اگرنبود تابع FIND



استفاده از تابع IF و  COUNTIF در ستون G به صورتیکه اگر سلی در ستون F برابر یک شده کانت 1 را در رنج $F$3:F3 در سل مربوطه درج کند.



 نمونه ی استفاده از تابع SEARCH در تصویر زیر 



فرمول همراه با تابع Index در ستون H 



([MATCH(lookup_value, lookup_array, [match_type

(MATCH(ROWS($G$3:G3),$G$3:$G$22,0


عملکرد تابع ROWS (برگشت  تعداد ردیف ها )  در رنج مشخص شده - وقتی فرمول به پائین کشیده شود ( DRAG )  قسمت اول که $ دارد ثابت میماند و قسمت دوم یعنی G3 اعدادش نسبت به قبلش یک واحد بصورت افزایشی تغییر میکند یعنی G3 میشود G4 و سل بعد G5 و ... 


ROWS($G$3:G3) : 1
ROWS($G$3:G4) : 2
ROWS($G$3:G5) : 3
ROWS($G$3:G6) : 4
ROWS($G$3:G7) : 5
ROWS($G$3:G8) : 6
ROWS($G$3:G9) : 7

عملکرد تابع MATCH یعنی تعیین موقعیت ( اعداد برگشتی تابع بالا پارامتر آرگومان اول تابع MATCH شده اند )

MATCH(1,$G$3:$G$22,0)=1=
MATCH(2,$G$3:$G$22,0)=7=

همانطور که در بالا مشاهده می کنید موقعیت عدد یک را در ستون G نمایش میدهد که 1 است و همینطور موقعیت عدد 2 در ستون G که 7 است را برمی گرداند و برای اعداد بعدی ( حاصل تابع ROWS بالاتر ) که 3 و ... هست چون وجودندارند صفر است .

حال تابع بالا ( MATCH ) میشود آرگومان Row در تابع INDEX 

([INDEX(array, row_num, [column_num

  (INDEX($E$2:$E$20,1=
(INDEX($E$2:$E$20,7=


:Here are the steps to create it

  1. Go to Formulas –> Name Manager.
  2. In the name-manager dialogue box click New. It will open a New Name dialogue box.
  3. In the Name Field enter DropDownList
  4. In the Refers to Field enter the formula: 
  5.  =$H$3:INDEX($H$3:$H$22,MAX($G$3:$G$22),

درستون H از دوتابع MATCH و INDEX استفاده شده که تابع MATCH موقعیت موردجستجو را برمی گرداند .





Range("E3:E27").AdvancedFilter Action:=xlFilterCopy
CopyToRange:=Range("I3"), Unique:=True,



Private Sub ComboBox1_Change()
ComboBox1.ListFillRange = "DropDownList"
Me.ComboBox1.DropDown
End Sub
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد