我正在使用 VBA 显示带有用户名的欢迎消息。此外,我想在其中一张工作表中跟踪用户名(从环境变量中获取)、日期和时间。
例如:如果我打开 Excel 文件,则必须在其中一个工作表中进行如下跟踪
skiran 11/13/2014 2:00 AM
我的代码到目前为止
Private Sub Workbook_Open1()
Dim sName As String
Dim sTxt As String
Dim CurrTime As Long
sName = Environ("UserName")
CurrTime = Hour(Now)
Select Case CurrTime
Case Is > 18
sTxt = "Good evening, "
Case Is > 12
sTxt = "Good afternoon, "
Case Is < 6
sTxt = "Good morning, "
End Select
msgbox sTxt & sName
End Sub
答案1
只需将以下内容添加到代码末尾:
dim nextrow as integer
if Range("'Sheet2'!A2").value = "" then
nextrow = 2
else
nextrow = Range("'Sheet2'!A1").End(xlDown).Row + 1
end if
Range("'Sheet2'!A" & nextrow ).value = sName
Range("'Sheet2'!B" & nextrow ).value = CurrTime
将 Sheet2 更改为您的工作表名称。
此外,我假设您有要发送到的工作表的标题。我希望这有意义。如果没有,请询问,我会尝试澄清。