Excel VBA Рассчитать последнюю строку для каждого листа, сохраняя значение с другим именем - PullRequest
0 голосов
/ 15 мая 2018

Мне нужно вычислить последнюю строку в каждом листе моей книги Excel, и я фактически делаю это со следующими строками кода:

With Sheets("Sheetname")
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
    LastRow = .Cells.Find(What:="*", _
                  After:=.Range("A1"), _
                  Lookat:=xlPart, _
                  LookIn:=xlFormulas, _
                  SearchOrder:=xlByRows, _
                  SearchDirection:=xlPrevious, _
                  MatchCase:=False).Row
Else
    LastRow = 1
End If
End With

Можно ли зацикливаться на каждом листе и каждый раз сохранять значения LastRow с другим именем? Мне нужно, чтобы все они хранились отдельно в моем макросе.

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете просматривать рабочие таблицы следующим образом:

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    'do something
Next ws

Вы можете использовать Scripting.Dictionary для хранения ваших значений с ws.Name в качестве ключа и вашим .Cells.Find в качестве значения. Поместите код, где находится комментарий 'do something.

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