1. 程式人生 > >vba 個人使用總結筆記

vba 個人使用總結筆記

1.獲取A列最後一個不為空的單元格,表名.[A65536].End(xl方向).Row

lastNotEmptyRow = Sheet1.[a65536].End(xlUp).Row

2.獲取第一行最後一個不為空的單元格,表名.[A65536].End(xl方向).Column
lastNotEmptyColumn = Cells(2, 255).End(xlToLeft).Column
3.獲取當前日期,當前日期和時刻
current_date = Date
current_date_time = Now
4.日期相加,加一天/一月/一年的函式,DateAdd(interval, number, date)

interval 必要。字串表示式,是所要加上去的時間間隔。
number 必要。數值表示式,是要加上的時間間隔的數目。其數值可以為正數(得到未來的日期),也可以為負數(得到過去的日期)。
date 必要。Variant(Date)
或表示日期的文字,這一日期還加上了時間間隔。
interval引數具有以下設定值:
設定描述
yyyy 年
q 季
m 月
y
    一年的日數
d 日
w 一週的日數

ww 周
h 時
n 分鐘
s 秒

dateAddDay= DateAdd("d", 1, today)

dateAddMonth= DateAdd("m", 1, today)

dateAddYear= DateAdd("y", 1, today)

5.vba連線資料庫

MySQL連線ODBC字串connstrMySQL = "Driver={" & driver & "};Server = " & sevIP & ";DB=" & DNS & ";UID=" & username & ";PWD=" & password & ";OPTION= 3 ;"
Oracle連線OLE字串connstr_Oracle= "Provider = MSDAORA.1;Password=" & password & ";User ID=" & username & ";Data Source=" & DNS & ";Persist Security Info=True"

SQLServer連線OLE字串connstr_SQLServer = "Provider=sqloledb;DSN=" & DNS & ";UID=" & username & ";PWD=" & password & ";"

    Dim conn As ADODB.Connection
    Dim rs1 As ADODB.Recordset
    Set conn = New ADODB.Connection
    Dim connstr As String
    Dim connsql_if_c1  As String
    conn.ConnectionString = connstr
        conn.Open
        Set rs1 = conn.Execute(connsql_table)
        rs1.Close
        conn.Close
        Set rs1 = Nothing
6.在excelSheet中找對應編碼的INFO資訊,用到VLookup(mess_code, Sheet5.Range("A:B"), 2, False)) ,對應Excel中的VLookup公式
Function message_box(ByVal mess_code As String) As String
        If IsError(Application.VLookup(mess_code, Sheet5.Range("A:B"), 2, False)) Then
        message_box = "NOT FOUND Message"
        Else
         message_box = Application.VLookup(mess_code, Sheet5.Range("A:B"), 2, False)
        End If
End Function