Как выбрать и скопировать в последнюю ячейку при неравных данных Dynami c с VBA - PullRequest
1 голос
/ 04 апреля 2020
input:

45311       
0003ML00030-1   0003ML00030-2   0003ML00030-3
0003ML00030-1   0003ML00030-1 

See my snap highlighted area need to select

См. Мою выделенную область с привязкой, которую нужно выбрать, последнюю ячейку несколько раз пустую и также динамическую c.

Из Над вводом необходимо выбрать Все данные и скопировать их. Когда я повторно использую лист, Диапазон данных может изменяться, в то время как стандартная формула не работает должным образом.

В настоящее время я использую этот код VBA.

Sub Macro()
 Sheets("input").Select
Range("D2").Select
   Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
   Selection.Copy
End Sub

Когда я использую этот код, он выбирает Extreme последняя ячейка (строка 1048570 х кол 41).

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

1 Ответ

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

Вот код:

Sub Macro()
Sheets("input").Activate
Range("b1").CurrentRegion.Copy

End Sub

Обычно, чтобы проверить номер строки последней ячейки, вы можете использовать

Cells(Rows.Count, "B").End(xlUp).Row

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

Cells(2, Columns.Count).End(xlToLeft).Column

Вот пересмотренный код и демонстрационная картинка.

Sub Macro()
Sheets("input").Activate
Set rng = Range("d1").CurrentRegion
rng.Offset(1, 3).Resize(rng.Rows.Count - 1, rng.Columns.Count - 3).Copy

End Sub

enter image description here

...