Заполните столбец с отметками времени, используя макрос - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь использовать кнопку для отметки времени в столбце ячеек, каждый раз, когда нажимается кнопка, я хотел бы, чтобы она перемещалась в ячейку ниже, например, A1, A2, A3 и т. Д.

Sub RectangleRoundedCorners1_Click() 
With Range("A1") 
.Value = Now()

.NumberFormat = "h:mm:ss AM/PM" 
End With 
End Sub

Это добавляет текущую метку времени к A1 и каждый раз заменяет содержимое, когда Excel распознает, что A1 заполнено, и я хочу, чтобы он распечатался в следующей ячейке вниз.Есть ли какая-то петля +1, которую я должен использовать.Я не использовал VB раньше.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018
Sub RectangleRoundedCorners1_Click() 
With Cells(Rows.Count, 1).End(xlUp).Offset(1) 
.Value = Now()

.NumberFormat = "h:mm:ss AM/PM" 
End With 
End Sub

Как прокомментировал Даррен

0 голосов
/ 12 декабря 2018

Вам необходимо определить текущую последнюю использованную строку в Column A каждый раз, когда вы запускаете макрос.Затем вы двигаетесь вниз на одну строку с помощью Offset(1), чтобы сбросить новое значение

Sub RectangleRoundedCorners1_Click()

Dim LR As Long

With Sheets("Sheet1")
    LR = .Range("A" & .Rows.Count).End(xlUp).Offset(1).Row
    .Range("A" & LR).Value = Format(Now, "h:mm:ss AM/PM")
End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...