Таблица Excel не расширяется при выполнении кода VBA, но расширяется при вводе любой буквы под ней - PullRequest
0 голосов
/ 10 октября 2018

Я использую этот код для копирования своего кода из другой книги в другую:

Dim PayMR_Data_Columns As Long, sourcePayMR As Range

PayMR_Data_Columns = ThisWorkbook.Worksheets("Pay-MR").Cells(1, Columns.Count).End(xlToLeft).Column
Set sourcePayMR = ThisWorkbook.Worksheets("Pay-MR").Range("A2:" & Col_Letter(PayMR_Data_Columns) & Total_rows_PayMR)

'Copies value from source to Payroll Data
With Workbooks("Payroll Data.xlsm").Worksheets("Pay-MR Compiled").Range("A" & Total_rows_PayMRCompiled + 1 & ":" & Col_Letter(PayMR_Data_Columns) & Total_rows_PayMRCompiled + Total_rows_PayMR - 1)
    .Value = sourcePayMR.Value
End With

Пожалуйста, обратитесь к изображению ниже:

enter image description here

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

enter image description here

1 Ответ

0 голосов
/ 10 октября 2018

VBA не расширяет таблицу автоматически.

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

ActiveSheet.ListObjects("Table1").ListRows.Add

Также посмотрите мой ответ здесь и Руководство по VBA для таблиц ListObject Excel для получения дополнительной информации о том, как обрабатывать таблицы в Excel с VBA.

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