تبلیغات
ویژوال بیسیك 6 - ساخت توابع در اكسل (قسمت دوم)
شنبه 28 فروردین 1389

ساخت توابع در اكسل (قسمت دوم)

   نوشته شده توسط: شهرام    نوع مطلب :آموزش و مقالات آموزشی ،

در قسمت قبلی با ساخت یك تابع ساده در اكسل آشنا شدید.
تابعی كه تنها می توانست دو سلول را با هم مقایسه كند.حال اگر بخواهیم در تابعی با چندین سلول كار كنیم  و یا به عبارت دیگر با یك آرایه از سلولها مواجه باشیم چه باید كرد؟
فرض كنید می خواهید تعداد حرفهای تكرار شده دلخواه در دسته ای از سلولها را بشمارید.به عنوان مثال می خواهید بدانید  حرف A در سلولهای A1 تا B10 چند بار تكرار شده است.
بنابراین مشاهده می كنید كه دیگر با یك سلول به عنوان آرگومان سر و كار ندارید و باید آرایه ای از سلولها كه شامل 20 خانه از A1 تا B10 است را برای تابع بفرستید.
اولین نكته این است كه آرگومان سلولها باید از نوع Range انتخاب گردد.برنامه من دو آرگومان به تابع با نام های Range كه همان آرایه ای از سلولهاست و Word كه حرف مورد نظر من است می فرستد.كد زیر را در یك ماژول بنویسید و نتیجه را ببینید:

Function Count_Word(range As range, word As String)
  n = range.Count
  For i = 0 To n
  On Error Resume Next
    c1 = range(i) & c1
    Next
    a = c1
    For i = 1 To Len(a)
     If Mid(a, i, 1) = word Then Count_Word = Count_Word + 1
    Next
End Function