Количество строк и столбцов не отображается правильно в VBA - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь выбрать все строки и столбцы, чтобы я мог применить Pivot. Всего 12327 строк и 7 столбцов. Но LastRow2 и LastCol2 отображают значение счетчика строк ie 12327, но фактическое число столбцов составляет только 7.

With Sheet2
    LastRow2= .Cells(.Rows.Count, 1).End(xlUp).Row
    LastCol2= .Cells(1, .Columns.Count).End(xlToLeft).Column
  Set PRange2= .Range("A1", .Cells(LastRow2, LastCol2))
End With

MsgBox LastCol2 & " " & LastRow2

Это вторая сводная таблица в моей таблице, этот код показывает правильные значения в коде первой сводной таблицы.

1 Ответ

0 голосов
/ 02 марта 2020

Ну, есть несколько возможных ловушек:

  • Документация по Range.End не очень хороша. Он говорит вам, что дает тот же результат, что и некоторая комбинация клавиш - это далеко от четкого определения. Вот почему я действительно стараюсь избегать Range.End в целом и использовать вместо него Find (внутри некоторого udf).

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

    • Если ваш диапазон больше одного столбца, чей последний ряд он выберет?

    • Если в вашей ячейке произошли изменения в форматировании, считаете ли вы ее пустой? Обрабатывает ли Range.End то же самое?

Надеюсь, это поможет. Мне нельзя комментировать, просто отвечать, вот что я должен был сделать;)

Best,

YeOldHinnerk * ​​1027 *

...