Как изменить диапазоны назначения при использовании автозаполнения в VBA - PullRequest
1 голос
/ 17 апреля 2020

Я довольно новичок в VBA, я делаю макрос, в котором он копирует данные из рабочей книги 'Sample' в рабочую книгу 'Etracker'. После копирования ячейки «H11» из «Образца» в последнюю строку столбца C в Etracker я хочу, чтобы столбец C автоматически заполнялся до тех пор, пока данные не окажутся в столбце J. код работает, но там, где сейчас написано «C16926», он меняется каждый раз, потому что я постоянно ввожу в него данные. поэтому я хочу автозаполнить его из последней строки в столбце C все время. Я пробовал разные способы изменить «C16926», но он не работает. Пожалуйста помоги! и заранее спасибо.

LastrowC = Etracker.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
LastrowJ = Etracker.Cells(Rows.Count, 10).End(xlUp).Offset(1, 0).Row

Sample.Activate
Range("H11").Copy
Etracker.Cells(LastrowC, 3).PasteSpecial xlPasteValues
Etracker.Activate
Etracker.Range("C" & LastrowC).Select
Selection.AutoFill Destination:=Range("C16926:C" & Range("J" & Rows.Count).End(xlUp).Row), Type:=xlFillCopy

1 Ответ

0 голосов
/ 17 апреля 2020

Вам просто нужно объединить последнюю строку в адрес, например

"C" & LastrowC & ":C" & Range("J" & Rows.Count).End(xlUp).Row)

Обратите внимание, что вам не нужно .Select или .Activate, если вы указываете рабочий лист для каждый Range, Cells, Rows и Columns объект. Использование .Select или .Activate очень ненадежно и делает ваш код очень медленным.

Таким образом, вы должны получить что-то вроде

Dim LastRowC As Long
LastrowC = Etracker.Cells(Etracker.Rows.Count, "C").End(xlUp).Offset(1, 0).Row

Dim LastrowJ As Long
LastrowJ = Etracker.Cells(Etracker.Rows.Count, "J").End(xlUp).Offset(1, 0).Row

Sample.Range("H11").Copy
Etracker.Cells(LastrowC, "C").PasteSpecial xlPasteValues

Etracker.Range("C" & LastrowC).AutoFill Destination:=Etracker.Range("C" & LastrowC & ":C" & LastrowJ), Type:=xlFillCopy
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...