Excel вылетает, когда я запускаю циклический макрос - PullRequest
0 голосов
/ 11 апреля 2020

В отношении переполнения стека есть похожие вопросы, однако ни один из ответов не относится к моей проблеме, поэтому я пишу новый вопрос. Я пытаюсь сделать макрос, который проходит через ячейки в столбце, пока не найдет пустой. Затем он копирует некоторые данные, например дату, в ячейки этой строки. Excel не выдает никаких ошибок, но когда я нажимаю кнопку для запуска макроса, программа вылетает.

Sub Button1()
    Dim cell As String
    cell = "A"
    Dim cellCount As Integer
    cellCount = 8

    Dim currentDate As Date

    Dim currentCell As String
    currentCell = cell & cellCount

    Do
        If IsEmpty(currentCell) = True Then
            Worksheets("Trades").Range(currentCell).Value = currentDate
            cellCount = cellCount + 1
            currentCell = cell & cellCount
        End If
    Loop Until IsEmpty(currentCell) = True
End Sub

1 Ответ

1 голос
/ 11 апреля 2020

Если вы просто хотите проверить, пуста ли текущая ячейка (ничего не включает), я рекомендую использовать что-то вроде этого:

currentCell = vbNullString

«vbNullString» означает, что значение из этой указанной c ячейки не было не возвращает никакого строкового значения.

Другой способ для вас - сначала найти последнюю строку (я полагаю, вы пытаетесь найти последнюю строку в столбце A) и сохранить это значение в переменной. После этого вы используете это значение для сохранения даты.

Sub Button1()
Dim lastRow As Long
Dim currentDate As String

'Save current date to a string variable
currentDate = Date

'Find last row in column A and store value to variable
lastRow = Worksheets("Trades").Cells(Rows.Count, 1).End(xlUp).Row

'Save date to last row on specified column
Worksheets("Trades").Cells(lastRow, 1).Value = Date
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...