Я использую 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 ответ1

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 на любое имя вашего листа.

Также я предполагаю, что у вас будут заголовки для листа, на который он собирается. Я надеюсь это имеет смысл. Если не спросите и я постараюсь уточнить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .