vba代碼中七種數(shù)據(jù)類型的應(yīng)用 vba常用代碼有哪些?
vba常用代碼有哪些?我們平時在工作表單元格的公式中常常覺得使用函數(shù),Excel從網(wǎng)上下載的廣泛的函數(shù)一百三十余300多個,功能強(qiáng)大,多姿多彩,只不過在VBA中肯定不能直接應(yīng)用到,可以在函數(shù)名前面另外
vba常用代碼有哪些?
我們平時在工作表單元格的公式中常常覺得使用函數(shù),Excel從網(wǎng)上下載的廣泛的函數(shù)一百三十余300多個,功能強(qiáng)大,多姿多彩,只不過在VBA中肯定不能直接應(yīng)用到,可以在函數(shù)名前面另外對象,.例如:(arg1,arg2,arg3)。
vba函數(shù)類型?
1,vba字符串函數(shù)列表:
Trim(string)去掉string左右兩端空白
Ltrim(string)能去掉string左端空白
Rtrim(string)可以去掉string右端空白
Len(string)可以計算string長度
Left(string,x)取string左段x個字符排成的字符串
Right(string,x)取string右段x個字符混編的字符串
Mid(string,start,x)取string從start位正在的x個字符混編的字符串
Ucase(string)轉(zhuǎn)換的為大寫
Lcase(string)裝換為小寫
Space(x)直接返回x個空白的字符串
Asc(string)直接返回一個integer,屬於字符串中首字母的字符代碼
Chr(charcode)回string,其中包含有與更改的字符代碼相關(guān)的字符
2,VBA轉(zhuǎn)換函數(shù)列表:
CBool(expression)轉(zhuǎn)換的為Boolean型
CByte(expression)轉(zhuǎn)換的為Byte型
CCur(expression)可以轉(zhuǎn)換為Currency型
CDate(expression)可以轉(zhuǎn)換為Date型
CDbl(expression)轉(zhuǎn)換成為double型
CDec(expression)裝換為Decemal型
CInt(expression)裝換為Integer型
CLng(expression)可以轉(zhuǎn)換為Long型
CSng(expression)可以轉(zhuǎn)換為complete型
CStr(expression)轉(zhuǎn)換成為String型
CVar(expression)轉(zhuǎn)換的為Variant型
Val(string)轉(zhuǎn)換為數(shù)據(jù)型
Str(number)轉(zhuǎn)換的為String
3,VBA時間函數(shù):
Now直接返回一個Variant(Date),據(jù)計算機(jī)進(jìn)入設(shè)置的日期和時間來重新指定日期和時間。
Date趕往真包含系統(tǒng)日期的Variant(Date)。
Time回一個并沒有提到當(dāng)前系統(tǒng)時間的Variant(Date)。
Timer直接返回一個Single,代表上帝從午夜開始到現(xiàn)在經(jīng)由的秒數(shù)。
TimeSerial(hour,minute,second)回一個Variant(Date),中有本身具體詳細(xì)時、分、秒的時間。
DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])直接返回Variant(Long)的值,表示兩個指定你日期間的時間間隔數(shù)目
Second(time)直接返回一個Variant(Integer),其值為0到59之間的整數(shù),它表示一分鐘之中的某個秒
Minute(time)返回一個Variant(Integer),其值為0到59之間的整數(shù),表示一小時中的某分鐘
Hour(time)前往一個Variant(Integer),其值為0到23之間的整數(shù),來表示一天之中的某一鐘點
Day(date)趕往一個Variant(Integer),其值為1到31之間的整數(shù),意思是一個月中的某一日
Month(date)趕往一個Variant(Integer),其值為1到12之間的整數(shù),可以表示一年中的某月
Year(date)回Variant(Integer),乾坤二卦它表示年份的整數(shù)。
Weekday(date,[firstdayofweek])趕往一個Variant(Integer),真包含一個整數(shù),貞潔戒某個日期是星期幾
4,VBA某些文件列表:
Dir[(pathname[,attributes])];pathname可選參數(shù),為了重新指定文件名的字符串表達(dá)式,可能會包含目錄或文件夾、包括驅(qū)動器。如果不是是沒有找到pathname,則會直接返回零長度字符串(#34#34)attributes可選參數(shù)。常數(shù)或數(shù)值表達(dá)式,其總和用來重新指定文件屬性。假如省略主語,則會直接返回匹配pathname但不包含屬性的文件。
5,VBA刪除文件:
Killpathname從磁盤中格式化磁盤,pathname參數(shù)是用來指定一個文件名
RmDirpathname從磁盤中刪除掉刪掉目錄,pathname參數(shù)是用處更改一個文件夾
6,用VBA先打開文件:
Openpathnameanymode[Accessaccess][lock]like[#]filenumber[Lenreclength]都能夠?qū)ξ募斎?輸出(I/O)。
pathname必要。字符串表達(dá)式,指定文件名,該文件名很有可能還包括目錄、文件夾及驅(qū)動器。
mode必要。關(guān)鍵字,委托文件,有Append、Binary、Input、Output、或Random。要是未重新指定,則以Randomftp訪問再打開文件。
access可選。關(guān)鍵字,只能說明再打開的文件是可以接受的操作,有Read、Write、或ReadWrite能操作。
lock可選。關(guān)鍵字,那說明時間限制于其它進(jìn)程然后打開的文件的操作,有Shared、Lock Read、LockWrite、和LockReadWrite能操作。
filenumber必要。一個比較有效的文件號,范圍在1到511之間??梢允褂肍reeFile函數(shù)可我得到下一個用些的文件號。reclength可選。小于或者等于32,767(字節(jié))的一個數(shù)。是對用必掉訪問打開的文件,該值那是有記錄長度。對于順序文件,該值那就是緩沖字符數(shù)。
那說明對文件做任何I/O操作之前都必須先可以打開文件。Open語句分配一個緩沖區(qū)供文件進(jìn)行I/O之用,并改變緩沖區(qū)所建議使用的訪問。假如pathname指定的文件不未知,那么,在用Append、Binary、Output、或Random再打開文件時,這個可以成立這一文件。要是文件已由其它進(jìn)程打開,但是不愿意指定你的訪問類型,則Open操作失敗的可能,但會有錯誤再一次發(fā)生。假如mode是Binary,則Len子句會被忽略掉。
不重要在Binary、Input和Random下可以用不同的文件號先打開同一文件,而無須先將該文件關(guān)掉。在Append和Output下,如果沒有要用完全不同的文件號打開同一文件,則必須在然后打開文件之前先關(guān)掉該文件
7,VBA讀入文件:
Input #filenumber,varlist從已然后打開的順序文件中讀到數(shù)據(jù)并將數(shù)據(jù)指定給變量
get[#]filenumber,[recnumber],varname將一個已打開的磁盤文件讀入一個變量之中。
8,寫入文件文件:
Write #filenumber,[outputlist]將數(shù)據(jù)中寫入順序文件
Print#filenumber,[outputlist]將格式化會顯示的數(shù)據(jù)寫入順序文件中
Put[#]filenumber,[recnumber],varname將一個變量的數(shù)據(jù)讀取磁盤文件中。
9,VBA關(guān)掉文件:
count[filenumberlist]關(guān)閉Open語句所打開的輸入/輸出(I/O)文件
注意如果不是今后想用Input#語句讀到文件的數(shù)據(jù),現(xiàn)在就要用Write#語句而用不著Print#語句將數(shù)據(jù)讀取文件。畢竟在可以使用Write#時,將數(shù)據(jù)域分界就可確保每個數(shù)據(jù)域的完整性,但用些Input#再將數(shù)據(jù)讀進(jìn)去。不使用Write#還能確保全任何地區(qū)的數(shù)據(jù)都被錯誤的可以讀出。Write與Print#語句不同,當(dāng)要將數(shù)據(jù)寫入文件文件時,Write#語句會在項目和為了標(biāo)志字符串的引號之間插入到逗號。Write#語句在將outputlist中的最后一個字符中寫入文件后會插到一個新行字符,即回車換行符,(Chr(13)Chr(10))。