常用的VBA函式及語句
清除行內容
Rows("2:2").Select
Selection.ClearContents
貼上到另一個表中有字元的下一行或貼上到最後一行字元的下一行:
該行的行號為: Sheets("sheet1").Range("A65536").End(xlUp).Row + 1
得到最後一行 : ActiveSheet.UsedRange. Item(ActiveSheet.UsedRange.Count).row
判斷一個單元表是否存在
dim ws as worksheeton error resume next
set ws = worksheets("sheet1")
if err then msgbox " sheet1工作表不存在"
on error goto 0
---------------------------------------
判斷一個sheet表是否存在,如果存在則刪除, 備份一下.
Sub copyORGFCST() '
Dim ws As Worksheet
On Error Resume Next
Set ws = Worksheets("ORGFCST_2")
If Err Then
Sheets("ORGFCST").Select
Sheets("ORGFCST").Copy After:=Sheets("ORGFCST")
ActiveSheet.Name = "ORGFCST_2"
On Error GoTo 0
Else
Sheets("ORGFCST_2").Delete
Sheets("ORGFCST").Select
Sheets("ORGFCST").Copy After:=Sheets("ORGFCST")
ActiveSheet.Name = "ORGFCST_2"
End If
End Sub
---------------------
Sub copyORGFCST() '
Dim ws As Worksheet
On Error Resume Next
Set ws = Worksheets("ORGFCST_2")
If Not Err Then
Application.DisplayAlerts = False
Sheets("ORGFCST_2").Delete
Sheets("ORGFCST").Select
Sheets("ORGFCST").Copy After:=Sheets("ORGFCST")
ActiveSheet.Name = "ORGFCST_2"
End If
Application.DisplayAlerts = True
End Sub
------------------------------------------------------------------------
Sub Macro1()
Dim i, j As Long
Dim dt As String
dt = "2011-12-26"
i = InStr(StrReverse(dt), "-")
Debug.Print (i)
j = Len(dt) - i
dt = Mid(dt, 1, j)
End Sub
結果為 2011-12
Sub test()
Dim i, j As Long
Dim dt, dtY, dtM As String
dt = "2011-12-26"
dtM = Month(dt)
dtY = Year(dt)
dt = dtY & "-" & dtM
End Sub
結果為 2011-12
string 類的字元
Trim(string) 去年string左右兩端的空白
Len(string) 計算string長度
left(string,x) 取string左段x個字元組成的字串.
Right(string, x ) 取string 右段 x個字元組成的字串.
可使用InStr函式返回一字串在另一字串中的位置,因此,也可以使用該函式確定一個字串中是否包含有另一個字串。其語法為:
InStr([Start,]string1,string2[,compare])
其中,引數Start為可選引數,設定查詢的起點,如果省略,則從第一個字元的位置開始查詢,當指定了引數Compare時,則要指定此引數。引數string1為被查詢的字串,引數string2為要查詢的字串,這兩個引數都是必需的。
instr( "2011-11-26", "-")
反向字串
StrReverse函式返回與指定字串順序相反的字串,其語法為:
StrReverse(expression)
其中,引數expression是一個字串,應用StrReverse函式後將返回與該字串順序相反的字串。如果expression是一個長度為零的字串(“”),則返回一個長度為零的字串;如果expression為Null,則產生一個錯誤。
Mid函式
Mid(string, start[,length])
Mid 函式的語法具有下面的命名引數:
部分 | 說明 |
---|---|
string | 必要引數。字串表示式,從中返回字元。如果 string 包含Null,將返回Null。 |
start | 必要引數。為 Long。string 中被取出部分的字元位置。如果start超過string的字元數,Mid 返回零長度字串 ("")。 |
length | 可選引數;為 Variant (Long)。要返回的字元數。如果省略或length超過文字的字元數(包括start處的字元),將返回字串中從start到尾端的所有字元。 |
說明
欲知 string 的字元數,可用 Len 函式。
注意 MidB 函式作用於字串中包含的位元組資料,如同在雙位元組字符集(DBCS)語言中一樣。因此其引數指定的是位元組數,而不是字元數。對於使用MidB的示例程式碼,請參閱示例主題中的第二個示例。
日期型函式
日期與時間關鍵字總結
Year("日期") 返回日期的年份
Month("日期") 返回日期的月份
Day("日期") 返回日期的某日
Hour("日期") 返回日期的某時
Minute("日期") 返回日期的某分
Second("日期") 返回日期的某秒
Time 系統當前的時間