vba精選函數(shù)參考模板_第1頁
vba精選函數(shù)參考模板_第2頁
vba精選函數(shù)參考模板_第3頁
vba精選函數(shù)參考模板_第4頁
vba精選函數(shù)參考模板_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Vba精選函數(shù)一、VBA函數(shù)精選之一(ASC函數(shù))2二、VBA函數(shù)精選之二(Chr函數(shù))3三、VBA函數(shù)精選之三(Choose函數(shù))4四、VBA函數(shù)精選之四(Cos函數(shù))5五、VBA函數(shù)精選之五(Date函數(shù))6六、VBA函數(shù)精選之六(DateAdd函數(shù))7七、VBA函數(shù)精選之七(DateDiff函數(shù))8八、VBA函數(shù)精選之八(DatePart函數(shù))9九、VBA函數(shù)精選之九(DateSerial 函數(shù))11十、VBA函數(shù)精選之十(DateValue 函數(shù))12十一、VBA函數(shù)精選之十一(Day函數(shù))13十二、VBA函數(shù)精選之十二(Dir函數(shù))14十三、VBA函數(shù)精選之十三(Fix 函數(shù))15十

2、四、VBA函數(shù)精選之十四(Format 函數(shù))16十五、VBA函數(shù)精選之十五(Hour 函數(shù))17十六、VBA函數(shù)精選之十六(IIF 函數(shù))18十七、VBA函數(shù)精選之十七(InputBox)19十八、VBA函數(shù)精選之十八(Instr 函數(shù))21十九、VBA函數(shù)精選之十九(InstrRev)23二十、VBA函數(shù)精選之二十(IsArray)25二十一、VBA函數(shù)精選之IsNumeric 函數(shù)26二十二、VBA函數(shù)精選之(Join 函數(shù))27二十三、VBA函數(shù)精選之(LBound 函數(shù))28二十四、VBA函數(shù)精選之LCase和UCase30二十五、VBA函數(shù)精選之(Left 和Right)31二十六

3、、VBA函數(shù)精選之(Len 函數(shù))33二十七、VBA函數(shù)精選之(LTrim、RTrim與 Trim 函數(shù))34二十八、VBA函數(shù)精選之(Mid 函數(shù))35二十九、VBA函數(shù)精選之(Month 和 MonthName 函數(shù))37三十、VBA函數(shù)精選之(MsgBox 函數(shù))38三十一、VBA函數(shù)精選之(Now 函數(shù))42三十二、VBA函數(shù)精選之(RGB 函數(shù))43三十三、VBA函數(shù)精選之(Rnd 函數(shù))44三十四、VBA函數(shù)精選之(Round 函數(shù))45三十五、VBA函數(shù)精選之(Split 函數(shù))47三十六、VBA函數(shù)精選之(Sqr 函數(shù))49三十七、VBA函數(shù)精選之Str 和 CStr50三十八

4、、VBA函數(shù)精選之(Time 函數(shù))52三十九、VBA函數(shù)精選之(TimeSerial 和 TimeValue 函數(shù))53四十、VBA函數(shù)精選之(Timer 函數(shù))55 選擇性粘貼的VBA實現(xiàn)方法(ZT)56 Excel VBA中ByVal和 ByRef有什么區(qū)別?581 / 85一、VBA函數(shù)精選之一(ASC函數(shù))我們平時在工作表單元格的公式中常常使用函數(shù),Excel自帶的常用的函數(shù)多達300多個,功能強大,豐富多彩。但是在VBA中不能直接應(yīng)用,必須在函數(shù)名前面加上對象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。而能在VBA中直

5、接應(yīng)用的函數(shù)也有幾十個,下面將逐一詳細介紹常用的40個VBA函數(shù),以供大家學(xué)習(xí)參考。第1.1例 ASC函數(shù)一、題目:要求編寫一段代碼,運行后得到字符串”Excel”的首字母和”e”的ASCII值。二、代碼:Sub 示例_1_01() Dim myNum1%, myNum2% myNum1 = Asc(Excel) 返回69 myNum2 = Asc(e) 返回101 a1 = myNum1= : b1 = myNum1 a2 = myNum2= : b2 = myNum2 End Sub 三、代碼詳解 1、Sub 示例_1_01():宏程序的開始語句。 2、Dim myNum1%, myNum

6、2%:變量myNum1和myNum2聲明為整型變量。 也可以寫為 Dim myNum1 As Integer 。Integer 變量存儲為 16位(2 個字節(jié))的數(shù)值形式,其范圍為 -32,768 到 32,767 之間。Integer 的類型聲明字符是百分比符號 (%)。 3、myNum1 = Asc(Excel):把Asc函數(shù)的值賦給變量myNum1。 Asc函數(shù)返回一個 Integer,代表字符串中首字母的字符的ASCII代碼。 語法 Asc(string) 必要的 string(字符串) 參數(shù)可以是任何有效的字符串表達式。如果 string 中沒有包含任何字符,則會產(chǎn)生運行時錯誤。 4

7、、myNum2 = Asc(e):把Asc函數(shù)的值賦給變量myNum2。這里返回小寫字母e的ASCII代碼101。 5、a1 = myNum1= : b1 = myNum1:把字符串“myNum1= “賦給A1單元格,把變量myNum1的值賦給B1單元格。 6、a2 = myNum2= : b2 = myNum2:把字符串“myNum2= “賦給A2單元格,把變量myNum2的值賦給B2單元格。 7、End Sub:程序的結(jié)束語句,和“Sub示例_1_01()”相對應(yīng)。二、VBA函數(shù)精選之二(Chr函數(shù))第1.2例 Chr函數(shù)一、題目:要求編寫一段代碼,運用Chr函數(shù)將ASCII值轉(zhuǎn)換為對應(yīng)的

8、字符。二、代碼:Sub 示例_1_02() Dim myChar1$, myChar2$ myChar1 = Chr(69) 返回 E。 myChar2 = Chr(101) 返回 e。 a1 = myChar1= : b1 = myChar1 a2 = myChar2= : b2 = myChar2 End Sub三、代碼詳解 1、Sub 示例_1_02():宏程序的開始語句。 2、Dim myChar1$, myChar2$:變量myChar1和myChar2聲明為字符串變量。也可以寫為 Dim myChar1 As String 。String之字符碼的范圍是 0 到 255。字符集的前

9、 128 個字符(0 到 127)對應(yīng)于標(biāo)準(zhǔn)的 U.S. 鍵盤上的字符與符號。這前 128 個字符與 ASCII 字符集中所定義的相同。后 128 個字符(128 到 255)則代表特殊字符,例如國際字符,重音符號,貨幣符號及分?jǐn)?shù)。String 的類型聲明字符為美元號 ($)。 3、myChar1 = Chr(69):把Chr(69)的值賦給變量myChar1。這里返回大寫字母E。Chr函數(shù)根據(jù)字符代碼返回一個字符。 語法 Chr(charcode) 必要的 charcode(字符代碼) 參數(shù)是用來識別某字符的。 4、myChar2 = Chr(101):把Chr 函數(shù)的值賦給變量myChar

10、2。這里返回小寫字母e。 5、a1 = myChar1= : b1 = myChar1:把字符串“myChar1=“賦給A1單元格,把變量myChar1的值賦給B1單元格。 6、a2 = myChar2= : b2 = myChar2:把字符串“myChar2=“賦給A2單元格,把變量myChar2的值賦給B2單元格。 7、End Sub:程序的結(jié)束語句,和“Sub示例_1_02()”相對應(yīng)。三、VBA函數(shù)精選之三(Choose函數(shù))第1.3例 Choose函數(shù)一、題目:要求編寫一段代碼,運用Choose函數(shù)根據(jù)指定數(shù)字選擇對應(yīng)的字符串。二、代碼:Sub 示例_1_03() Dim Num%

11、Num=2 MsgBoxChoose(Num, 一月, 二月, 三月)End Sub三、代碼詳解 1、Sub 示例_1_03():宏程序的開始語句。宏名為示例_1_03。 2、Dim Num% :變量Num聲明為整型變量。 3、Num=2 :把2賦給變量Num。 4、MsgBoxChoose(Num, 一月, 二月, 三月) : Choose函數(shù)從參數(shù)列表中選擇并返回一個值。 語法 Choose(index, choice-1, choice-2, . , choice-n) Choose 會根據(jù) index 的值來返回選擇項列表中的某個值。如果 index 是 1,則 Choose 會返回列

12、表中的第 1 個選擇項。如果 index 是 2,則會返回列表中的第 2 個選擇項,以此類推。 Index是必要參數(shù),數(shù)值表達式或字段,它的運算結(jié)果是一個數(shù)值,且界于 1 和可選擇的項目數(shù)之間。當(dāng) index小于 1 或大于列出的選擇項數(shù)目時,Choose 函數(shù)返回 Null。如果 index 不是整數(shù),則會先四舍五入為與其最接近的整數(shù)。四、VBA函數(shù)精選之四(Cos函數(shù))第1.4例 Cos函數(shù)一、題目:要求編寫一段代碼,運用Cos函數(shù)根據(jù)指定角度的余弦計算其正割的值。二、代碼:Sub 示例_1_04() Dim jiaodu, zenge jiaodu = 1.3 zenge = 1 / C

13、os(jiaodu) MsgBox“角度為 ” & jiaodu & “的正割的值 ” & zengeEnd Sub三、代碼詳解 1、Sub 示例_1_04():宏程序的開始語句。宏名為示例_1_04。 2、Dim jiaodu, zenge :兩個變量都被指定為可變型數(shù)據(jù)類型。當(dāng)聲明常數(shù)、變量或參數(shù)時,若無指定數(shù)據(jù)類型則會自動的指定成 Variant(可變型) 數(shù)據(jù)類型。聲明成 Variant 數(shù)據(jù)類型的變量可以為字符串、日期、時間、Boolean或數(shù)值。 3、jiaodu = 1.3 :把以“弧度”為單位的角度1.3賦給變量jiaodu。 4、zenge = 1 / Cos(jiaodu)

14、 :利用1/余弦算得正割(sec())的值,賦給變量zenge。 Cos函數(shù)返回一個角的余弦值。其參數(shù)是表示一個以弧度為單位的角。 5、MsgBox“角度為 ” & jiaodu & “的正割的值 ” & zenge:利用MsgBox函數(shù)顯示算得的正割(sec())的值。五、VBA函數(shù)精選之五(Date函數(shù))第1.5例 Date函數(shù)一、題目:要求編寫一段代碼,運用Date函數(shù)顯示系統(tǒng)日期的值。二、代碼:Sub 示例_1_05() Dim myDate myDate = DateMsgBox“系統(tǒng)日期為 ” & myDateEnd Sub 三、代碼詳解 1、Sub 示例_1_05():宏程序的開

15、始語句。宏名為示例_1_05。 2、Dim myDate :變量myDate被指定為可變型數(shù)據(jù)類型。 3、myDate = Date :把系統(tǒng)日期的值賦給變量myDate。Date函數(shù)返回系統(tǒng)當(dāng)前的日期。 4、MsgBox“系統(tǒng)日期為 ” & myDate :利用MsgBox函數(shù)顯示系統(tǒng)日期的值。六、VBA函數(shù)精選之六(DateAdd函數(shù))第1.6例 DateAdd函數(shù)一、題目:要求編寫一段代碼,運用DateAdd函數(shù)顯示返回一定間隔后的日期。二、代碼:Sub 示例_1_06() Dim dyrq As Date Dim jglx As String Dim n As Integer Dim

16、Msg jglx = m dyrq = InputBox(請輸入一個日期) n = InputBox(輸入增加月的數(shù)目:) Msg = 新日期: & DateAdd(jglx, n, dyrq) MsgBox MsgEnd Sub三、代碼詳解 1、Sub 示例_1_06():宏程序的開始語句。宏名為示例_1_06。 2、Dim dyrq As Date :變量dyrq聲明為日期對象型數(shù)據(jù)類型。其余幾個變量分別是字符串型、整型和可變型變量。 3、jglx = m :用字符m來指定以“月份”作為間隔。 4、dyrq = InputBox(請輸入一個日期) :用InputBox函數(shù)來讓用戶輸入一個日

17、期,并把用戶輸入的日期賦給變量dyrq。5、n = InputBox(輸入增加月的數(shù)目:) :用InputBox函數(shù)來讓用戶輸入間隔月的數(shù)目,并把用戶輸入的值賦給變量n。6、Msg = 新日期: & DateAdd(jglx, n, dyrq) :用DateAdd函數(shù)計算得到的新的日期和字符串“新日期: ”連接起來賦給變量Msg。7、MsgBoxMsg :利用MsgBox函數(shù)顯示Msg的值。 DateAdd函數(shù)返回一個日期,這一日期加上了一個時間間隔。 語法 DateAdd(interval, number, date) DateAdd 函數(shù)語法中有下列命名參數(shù): interval 必要。字符

18、串表達式,是所要加上去的時間間隔。它具有好多設(shè)定值,比如”m”為月;”d”為日;”yyyy”為年等等。 number 必要。數(shù)值表達式,是要加上的時間間隔的數(shù)目。其數(shù)值可以為正數(shù)(得到未來的日期),也可以為負數(shù)(得到過去的日期)。 date 必要。表示日期的文字。七、VBA函數(shù)精選之七(DateDiff函數(shù))第1.7例 DateDiff函數(shù)一、題目:要求編寫一段代碼,運用DateDiff函數(shù)返回某個指定日期距離今天的天數(shù)。二、代碼:Sub 示例_1_07() Dim zdrq As Date Dim Msg zdrq = InputBox(請輸入一個日期:) Msg = 離開今天的天數(shù): &

19、DateDiff(d, Now, zdrq) MsgBox MsgEnd Sub三、代碼詳解 1、Sub 示例_1_07():宏程序的開始語句。宏名為示例_1_07。 2、Dim zdrq As Date :變量zdrq聲明為日期對象型數(shù)據(jù)類型。 3、zdrq = InputBox(請輸入一個日期) :用InputBox函數(shù)來讓用戶輸入一個日期,并把用戶輸入的日期賦給變量zdrq。 4、Msg = 離開今天的天數(shù): & DateDiff(d, Now, zdrq) :用DateDiff函數(shù)計算得到的結(jié)果和字符串“離開今天的天數(shù): ”連接起來賦給變量Msg。 5、MsgBoxMsg :利用Msg

20、Box函數(shù)顯示Msg的值。DateDiff 函數(shù) 可用來決定兩個日期之間所指定的時間間隔數(shù)目。例如,可以使用 DateDiff 來計算兩個日期之間相隔幾日,或計算從今天起到年底還有多少個星期。 DateDiff(interval, date1, date2, firstdayofweek, firstweekofyear) DateDiff 函數(shù)語法中有下列命名參數(shù): interval 必要。字符串表達式,是所要加上去的時間間隔。它具有好多設(shè)定值,與DateAdd函數(shù)相同;此例中的d,表示天數(shù); Date1,date2 必要;計算中要用到的兩個日期。 Firstdayofweek 可選。指定一

21、個星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。 firstweekofyear 可選。指定一年的第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。八、VBA函數(shù)精選之八(DatePart函數(shù))第1.8例 DatePart函數(shù)一、題目:要求編寫一段代碼,運用DatePart函數(shù)返回某個指定日期是在一年的哪一個季度。二、代碼:Sub 示例_1_08() Dim zdrq As Date Dim Msg zdrq = InputBox(請輸入一個日期:) Msg = 季度: & DatePart(q, zdrq) MsgBox MsgEnd Sub三、代碼詳解1、Sub

22、示例_1_08():宏程序的開始語句。宏名為示例_1_08。2、Dim zdrq As Date :變量zdrq聲明為日期對象型數(shù)據(jù)類型。3、zdrq = InputBox(請輸入一個日期) :用InputBox函數(shù)來讓用戶輸入一個日期,并把用戶輸入的日期賦給變量zdrq。4、Msg = 季度: & DatePart(q, zdrq) :用DatePart函數(shù)計算得到的結(jié)果和字符串“季度: ”連接起來賦給變量Msg。5、MsgBoxMsg :利用MsgBox函數(shù)顯示Msg的值。DatePart 函數(shù)DatePart(interval, date, , firstdayofweek, first

23、weekofyear) 語法中有下列命名參數(shù):interval 必要。字符串表達式,是所要加上去的時間間隔。它具有好多設(shè)定值,與DateAdd函數(shù)相同;此例中的q,表示季度;Date, 必要;計算中要用到的兩個日期。Firstdayofweek 可選。指定一個星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。firstweekofyear 可選。指定一年的第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。九、VBA函數(shù)精選之九(DateSerial 函數(shù))第1.9例 DateSerial 函數(shù)一、題目:要求編寫一段代碼,運用DateSerial函數(shù)返回指定日期的Date類

24、型。二、代碼:Sub 示例_1_09() Dim zdrq zdrq = DateSerial(2008, 8, 8) MsgBox zdrqEnd Sub三、代碼詳解1、Sub 示例_1_09():宏程序的開始語句。宏名為示例_1_09。2、Dim zdrq :變量zdrq聲明為可變型數(shù)據(jù)類型。3、zdrq = DateSerial(2008, 8, 8):DateSerial函數(shù)轉(zhuǎn)換所得的結(jié)果賦給變量zdrq。4、MsgBoxzdrq :利用MsgBox函數(shù)顯示zdrq的值。DateSerial函數(shù)返回指定日期年月日的日期格式。語法DateSerial(year, month, day)

25、DateSerial 函數(shù)語法有下列的命名參數(shù):year 必要;整型。從 100 到 9999 間的整數(shù),或一數(shù)值表達式。month 必要;整型。任何數(shù)值表達式。day 必要;整型。任何數(shù)值表達式。十、VBA函數(shù)精選之十(DateValue 函數(shù))第1.10例 DateValue 函數(shù)一、題目:要求編寫一段代碼,運用DateValue 函數(shù)返回指定日期的Date類型。二、代碼:Sub 示例_1_10() Dim zdrq zdrq = DateValue(August 8, 2008) MsgBox zdrqEnd Sub三、代碼詳解1、Sub 示例_1_10():宏程序的開始語句。宏名為示例

26、_1_10。2、Dim zdrq :變量zdrq聲明為可變型數(shù)據(jù)類型。3、zdrq = DateValue(August 8, 2008) :DateSerial函數(shù)轉(zhuǎn)換所得的結(jié)果賦給變量zdrq。4、MsgBoxzdrq :利用MsgBox函數(shù)顯示zdrq的值。DateValue函數(shù)將字符串轉(zhuǎn)換為日期格式。語法DateValue (date) DateValue 函數(shù)的參數(shù):date 必要;通常是字符串表達式,表示從 100 年 1 月 1 日到 9999 年 12 月 31 日之間的一個日期。但是,date 也可以是任何表達式,其所代表的日期、時間在上述范圍內(nèi)。十一、VBA函數(shù)精選之十一(

27、Day函數(shù))第1.11例 Day函數(shù)一、題目:要求編寫一段代碼,運用Day函數(shù)返回指定日期的日。二、代碼:Sub 示例_1_11() Dim zdrq zdrq = #2008-12-8# MsgBoxzdrq & 這天的日為: & Day(zdrq) End Sub三、代碼詳解1、Sub 示例_1_11():宏程序的開始語句。宏名為示例_1_11。2、Dim zdrq :變量zdrq聲明為可變型數(shù)據(jù)類型。3、zdrq = #2008- 8- 8#:把日期2008-8-8賦給變量zdrq。4、MsgBoxzdrq & 這天的日為: & Day(zdrq):利用MsgBox函數(shù)顯示Day(zdr

28、q)的值。Day函數(shù)返回一個其值為 1 到 31 之間的整數(shù),表示一個月中的某一日。Day (date) Day 函數(shù)的參數(shù):date必要的,可以是任何能夠表示日期的 Variant、數(shù)值表達式、字符串表達式或它們的組合。十二、VBA函數(shù)精選之十二(Dir函數(shù))第1.12例 Dir函數(shù)一、題目:要求編寫一段代碼,運用Dir函數(shù)返回一個文件夾的文件列表。二、代碼:Sub 示例_1_12() Dim wjm wjm = Dir(C:WINDOWSWIN.ini) MsgBox wjm wjm = Dir(C:WINDOWS*.ini) wjm = DirEnd Sub三、代碼詳解1、Sub 示例_

29、1_12():宏程序的開始語句。宏名為示例_1_12。2、Dim wjm :變量wjm聲明為可變型數(shù)據(jù)類型。3、wjm = Dir(C:WINDOWSWIN.ini): 如果該文件存在則返回“WIN.INI”(在C:Windows 文件夾中) ,把返回的文件名賦給變量wjm 。如果該文件不存在則wjm=”。4、wjm = Dir(C:WINDOWS*.ini): 返回帶指定擴展名的文件名。如果超過一個 *.ini 文件存在,函數(shù)將返回按條件第一個找到的文件名。5、wjm = Dir:若第二次調(diào)用 Dir 函數(shù),但不帶任何參數(shù),則函數(shù)將返回同一目錄下的下一個 *.ini 文件。Dir函數(shù)返回一個

30、字符串 String,用以表示一個文件名、目錄名或文件夾名稱,它必須與指定的模式或文件屬性、或磁盤卷標(biāo)相匹配。 Dir(pathname, attributes) Dir 函數(shù)的語法具有以下幾個部分: pathname 可選參數(shù)。用來指定文件名的字符串表達式,可能包含目錄或文件夾、以及驅(qū)動器。如果沒有找到 pathname,則會返回零長度字符串 ()。 attributes 可選參數(shù)。常數(shù)或數(shù)值表達式,其總和用來指定文件屬性。如果省略,則會返回匹配 pathname 但不包含屬性的文件。十三、VBA函數(shù)精選之十三(Fix 函數(shù))第1.13例 Fix函數(shù)一、題目:要求編寫一段代碼,運用Fix 函

31、數(shù)返回某數(shù)值的整數(shù)部分。二、代碼:Sub 示例_1_13() MsgBox “99.8的整數(shù)部分是: ” & Fix(99.8) MsgBox “99.8的整數(shù)部分是: ” & Fix(-99.8) End Sub三、代碼詳解1、Sub 示例_1_13():宏程序的開始語句。宏名為示例_1_13。2、MsgBox“99.8的整數(shù)部分是: ” & Fix(99.8):利用MsgBox函數(shù)顯示Fix(99.8)的值。3、MsgBox“-99.8的整數(shù)部分是: ” & Fix(-99.8):利用MsgBox函數(shù)顯示Fix(-99.8)的值。Fix 函數(shù) 返回參數(shù)的整數(shù)部分。 Fix(number)

32、number 必要的 是任何有效的數(shù)值表達式。 Int 及 Fix 函數(shù)在返回某數(shù)值的整數(shù)部分時有何不同。當(dāng)參數(shù)為負數(shù)時,Int 函數(shù)返回小于或等于該參數(shù)之最大整數(shù),而 Fix 函數(shù)則返回大于或等于該參數(shù)之最小整數(shù)。十四、VBA函數(shù)精選之十四(Format 函數(shù))第1.14例 Format 函數(shù)一、題目:要求編寫一段代碼,運用Format 函數(shù)對指定字符串返回指定格式的輸出。二、代碼:Sub 示例_1_14() Dim sj, rq sj = “19:08:43” rq = “2008-8-8” MsgBox sj & “ 的格式設(shè)為hh:mm:ss AMPM: ” & Format(sj,

33、hh:mm:ss AMPM) 返回 07:08:43下午。 MsgBox rq &“ 的格式設(shè)為dddd, mmm d yyyy: ” & Format(rq, dddd, mmm d yyyy) End Sub三、代碼詳解1、Sub 示例_1_14():宏程序的開始語句。宏名為示例_1_14。2、Dim sj,rq :變量sj,rq聲明為可變型數(shù)據(jù)類型。3、sj = “19:08:43”:把字符串”19:08:43”賦給變量sj。4、rq = “2008-8-8”:把字符串”2008-8-8”賦給變量rq。5、MsgBox sj & “ 的格式設(shè)為hh:mm:ss AMPM: ” & For

34、mat(sj, hh:mm:ss AMPM): 利用MsgBox函數(shù)顯示Format函數(shù)的值。返回 07:08:43下午。6、MsgBox rq &“ 的格式設(shè)為dddd, mmm d yyyy: ” & Format(rq, dddd, mmm d yyyy) : 利用MsgBox函數(shù)顯示Format函數(shù)的值。Format函數(shù)根據(jù)有效的命名表達式來對指定的表達式進行格式化。Format(expression, format, firstdayofweek, firstweekofyear)Format 函數(shù)具有下面幾個參數(shù):expression 必要參數(shù)。任何有效的表達式。format 可選

35、參數(shù)。有效的命名表達式或用戶自定義格式表達式。firstdayofweek 可選參數(shù)。常數(shù),表示一星期的第一天。firstweekofyear 可選參數(shù)。常數(shù),表示一年的第一周。十五、VBA函數(shù)精選之十五(Hour 函數(shù))第1.15例 Hour函數(shù)一、題目:要求編寫一段代碼,運用Hour函數(shù)對指定字符串返回小時數(shù)。二、代碼:Sub 示例_1_15() Dim sj sj = 3:45:20 PM 指定一時間字符串。 MsgBox sj & 的小時是: & Hour(sj) End Sub三、代碼詳解1、Sub 示例_1_15():宏程序的開始語句。宏名為示例_1_15。2、Dim sj :變量

36、sj聲明為可變型數(shù)據(jù)類型。3、sj = “3:45:20 PM”:把字符串”3:45:20 PM”賦給變量sj。4、MsgBox sj & 的小時是: & Hour(sj) : 利用MsgBox函數(shù)顯示Hour函數(shù)的值。代碼執(zhí)行后如圖5-15所示。Hour 函數(shù)返回一個其值為 0 到 23 之間的整數(shù),表示一天之中的某一鐘點。語法Hour(time) Time 必要的參數(shù),可以是任何能夠表示時刻的數(shù)值表達式、字符串表達式或它們的組合。十六、VBA函數(shù)精選之十六(IIF 函數(shù))第1.16例 IIF函數(shù)一、題目:要求編寫一段代碼,運用IIF函數(shù)根據(jù)判斷條件返回結(jié)果。二、代碼: Sub 示例_1_1

37、6() Dim Cheshi As String, dx As Integer dx = 560 Cheshi = IIF(dx 1000, 大, 小) MsgBox dx & 比1000要 & Cheshi & & Abs(1000 - dx) End Sub三、代碼詳解1、Sub 示例_1_16():宏程序的開始語句。宏名為示例_1_16。2、Dim Cheshi As String, dx As Integer :變量Cheshi聲明為字符串?dāng)?shù)據(jù)類型,dx聲明為整型。3、dx= 560:把數(shù)字560賦給變量dx。4、Cheshi = IIF(dx 1000, 大, 小):根據(jù)變量dx是否

38、大于1000的條件來判斷,并且把返回的結(jié)果賦給變量Cheshi。5、MsgBoxdx & 比1000要 & Cheshi & & Abs(1000 - dx) : 利用MsgBox函數(shù)顯示最后的結(jié)果。其中Abs函數(shù)是取表達式的絕對值函數(shù)。IIF 函數(shù)根據(jù)表達式的值,來返回兩部分中的其中一個。IIF(expr, truepart, falsepart) IIF 函數(shù)的語法含有下面這些命名參數(shù):expr 必要參數(shù)。用來判斷真?zhèn)蔚谋磉_式。truepart 必要參數(shù)。如果 expr 為 True,則返回這部分的值或表達式。falsepart 必要參數(shù)。如果 expr 為 False,則返回這部分的值或

39、表達式十七、VBA函數(shù)精選之十七(InputBox)第1.17例 InputBox函數(shù)一、題目:要求編寫一段代碼,運用InputBox函數(shù),用戶輸入一定范圍的數(shù)值并返回結(jié)果。二、代碼:Sub 示例_1_17() Dim Msg$, bt$, Default$, MyValue,aa Msg = 輸入一個10到25之間的數(shù)值: bt = InputBox 函數(shù)示例 Default = 10 設(shè)置缺省值。100:MyValue = InputBox(Msg,bt, Default)If MyValue 25 Then aa = MsgBox(輸入數(shù)值超出范圍,請重新輸入或者退出。, 1) If a

40、a vbOK Then Exit Sub GoTo 100Else MsgBox 你輸入的是 & MyValueEnd IfEnd Sub三、代碼詳解1、Sub 示例_1_17():宏程序的開始語句。宏名為示例_1_17。2、Dim Msg$, bt$, Default, MyValue,aa :變量Msg、Default和bt聲明為字符串?dāng)?shù)據(jù)類型,其它的沒有顯式聲明,都為可變型數(shù)據(jù)類型。3、Msg = 輸入一個10到25之間的數(shù)值: :設(shè)置提示信息,把字符串賦給變量Msg。4、bt = InputBox 函數(shù)示例 :設(shè)置標(biāo)題,把字符串賦給變量bt。5、Default = 10 :設(shè)置缺省值,

41、把字符串賦給變量Default。6、MyValue = InputBox(Msg,bt, Default) :通過InputBox函數(shù)顯示信息、標(biāo)題及缺省值,把函數(shù)返回值賦給變量MyValue。7、If MyValue 25 Then:如果InputBox函數(shù)返回的數(shù)值小于10或者大于25,那么執(zhí)行下面的語句。8、aa = MsgBox(輸入數(shù)值超出范圍,請重新輸入或者退出。, 1):如果InputBox函數(shù)返回的數(shù)值超出了范圍,顯示一個消息框,消息框里面的第2個參數(shù)是1,表示消息框上有兩個按鈕:“確定”和“取消”按鈕。并把消息框返回的結(jié)果賦給變量aa。9、If aa vbOK Then Ex

42、it Sub:如果用戶按了消息框上的“取消”按鈕,就退出本程序。10、GoTo 100:如果用戶按了消息框上的“確定”按鈕,就轉(zhuǎn)而從行號100開始執(zhí)行代碼。11、MsgBox 你輸入的是 & MyValue:如果用戶輸入了符合要求的數(shù)值,按了回車鍵或者“確定”按鈕,消息框顯示用戶輸入的值。InputBox 函數(shù)在一對話框來中顯示提示,等待用戶輸入正文或按下按鈕,并返回包含文本框內(nèi)容的字符串。語法InputBox(prompt, title , default , xpos , ypos , helpfile, context) InputBox 函數(shù)的語法具有以下幾個命名參數(shù):Prompt 必

43、需的。作為對話框消息出現(xiàn)的字符串表達式。Prompt 的最大長度大約是 1024 個字符,由所用字符的寬度決定。如果 Prompt 包含多個行,則可在各行之間用回車符 (Chr(13)、換行符 (Chr(10) 或回車換行符的組合 (Chr(13) & Chr(10) 來分隔。Title 可選的。顯示對話框標(biāo)題欄中的字符串表達式。如果省略 Title,則把應(yīng)用程序名放入標(biāo)題欄中。Default 可選的。顯示文本框中的字符串表達式,在沒有其它輸入時作為缺省值。如果省略 Default,則文本框為空。 其它參數(shù)省略,請參見Excel幫助文件。十八、VBA函數(shù)精選之十八(Instr 函數(shù))第1.18

44、例 Instr函數(shù)一、題目:要求編寫一段代碼,運用Instr函數(shù),在一字符串中查找另一字符串并返回結(jié)果。二、代碼:Sub 示例_1_18() Dim bssString, yczChar, wz bssString =ABpAApCDPBBP yczChar = P MsgBox bssString = ABpAApCDPBBP & Chr(10) & _ yczChar= P 時: & Chr(10) & Chr(10) & _ InStr(4, bssString, yczChar, 1) 返回值為 & _ InStr(4, bssString, yczChar, 1) wz = Inst

45、r(1, bssString, yczChar, 0) wz = Instr(bssString,yczChar) 返回 9。 wz = Instr(1, bssString, W) 返回 0。End Sub三、代碼詳解1、Sub 示例_1_18():宏程序的開始語句。宏名為示例_1_18。2、Dim bssString, yczChar, wz :變量bssString、yczChar和ws聲明為可變型變量。3、bssString =ABpAApCDXPBBP : 把被搜索的字符串賦給變量bssString。4、yczChar = P : 把要查找的字符P賦給變量yczChar。5、MsgB

46、ox bssString = ABpAApCDPBBP & Chr(10) & _yczChar= P 時: & Chr(10) & Chr(10) & _InStr(4, bssString, yczChar, 1) 返回值為 & _InStr(4, bssString, yczChar, 1): 用消息框顯示從第四個字符開始,以文本比較的方式找字符P,返回值為 6(小寫 p的位置)。小寫 p 和大寫 P 在文本比較下是一樣的,也就是當(dāng)函數(shù)的最后一個參數(shù)為1時,查找不分大小寫。把要查找的字符P的位置賦給變量yczChar。式中Chr(10)是換行符。6、wz = Instr(1, bssSt

47、ring, yczChar, 0) :從第一個字符開始,以二進制比較的方式查找,返回值為 9(大寫 P的位置)。小寫 p 和大寫 P 在二進制比較下是不一樣的,也就是當(dāng)函數(shù)的最后一個參數(shù)為0時,查找分大小寫。把查找到的字符P的位置賦給變量wz。7、wz = Instr(bssString, yczChar) :上一句也可寫成這樣的,因為缺省的比對方式為二進制比較(最后一個參數(shù)可省略)。第一個參數(shù)省略默認從第一個字符開始查找。返回值為 9。8、wz = Instr(1,bssString, ”W”) :在被搜索的字符串中查找字符W,由于沒找到返回值為0。InStr 函數(shù)返回 Variant (L

48、ong),指定一字符串在另一字符串中最先出現(xiàn)的位置。InStr(start, string1, string2, compare)InStr 函數(shù)的語法具有下面的參數(shù):start 可選參數(shù)。為數(shù)值表達式,設(shè)置每次搜索的起點。如果省略,將從第一個字符的位置開始。如果指定了 compare 參數(shù),則一定要有 start 參數(shù)。string1 必要參數(shù)。接受搜索的字符串表達式。string2 必要參數(shù)。被搜索的字符串表達式。Compare可選參數(shù)。指定字符串比較。如果省略 compare,Option Compare 的設(shè)置將決定比較的類型。compare 參數(shù)設(shè)置為:常數(shù) 值 描述vbUseCom

49、pareOption -1 使用Option Compare 語句設(shè)置執(zhí)行一個比較。vbBinaryCompare 0 執(zhí)行一個二進制比較。vbTextCompare 1 執(zhí)行一個按照原文的比較。vbDatabaseCompare 2 僅適用于Microsoft Access,執(zhí)行一個基于數(shù)據(jù)庫中信息的比較。十九、VBA函數(shù)精選之十九(InstrRev)第1.19例 InstrRev 函數(shù)一、題目:要求編寫一段代碼,運用InstrRev函數(shù),返回一個字符串在另一個字符串中出現(xiàn)的位置,從字符串的末尾算起。二、代碼:Sub 示例_1_19() Dim bssString, yczChar, wz bssString =ABpAApCDPBBP yczChar = p ws = InstrRev(bssString, yczChar, 4,1) MsgBox ws End Sub三、代碼詳解1、Sub 示例_1_19():宏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論