2019年3月9日 星期六

[Excel VBA]如何取得帳號登入時間?


UI on Sheet1工作表

利用excel建置小型工具是一項有效率的工作方式,除了可供使用者們重覆使用並取得一致性的結果,建置者也不一定需具備高門檻的程式設計背景才能開發excel 工具,例如建置小型資料庫以供團隊成員隨時查詢,一舉兩得。


authority_list工作表

為了了解使用者的使用狀況,本文將既有的小型資料庫的登入資訊模組進行簡化,並單純以輸入ID資訊為範例,將使用者的登入時間一併記錄下來。重點摘要如下:

1.首先定義Sheet1工作表為使用者介面(UI),authority_list工作表為ID權限清單。


2.使用方法為,在Sheet1工作表中輸入ID,接著點擊Login按鈕。若ID已條列於authority_list工作表中,則顯示歡迎訊息;反之則顯示錯誤並請重新輸入的訊息。


3.程式碼如下列所示。


---------------------------------
Sub login_time_recorder()
Dim login_time As String
Dim au_max As Integer
login_time = Now

au_max = Worksheets("authority_list").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To au_max
    If Worksheets("authority_list").Range("A" & i).Value = Worksheets("Sheet1").Range("B3").Value Then
        MsgBox (Worksheets("authority_list").Range("A" & i).Value & ", Welcome~~")
        ThisWorkbook.Worksheets("Sheet1").Range("C3").Value = login_time 'express login time in worksheets
    Exit Sub
    End If
Next
MsgBox ("Wrong ID, please try again!!")

End Sub
----------------------------------

沒有留言:

張貼留言