Я сейчас ищу решение, которое дольше, чем я готов, поэтому вот моя проблема.
Мне нужно вставить динамический диапазон столбцов, состоящий в основном из 2 строк, на другой лист после первого столбца.
Я не могу жестко закодировать столбцы, поэтому я создал Application.InputBox, где пользователь должен выбрать диапазон и затем подтвердить свой выбор. Теперь, если я возьму диапазон и сделаю текстовое поле с адресом rng.address, он покажет диапазон e.G. A $ B $.
Теперь, когда я пытаюсь вставить диапазон, я получаю всевозможные ошибки в зависимости от того, как я пытаюсь.
Мой текущий подход следующий:
dim rng as Range
retry:
Set rng = Application.InputBox("Do that and that", "Obtain Range Object", Type:=8)
If MsgBox("Your choice " & rng.Address & " ?", vbYesNo, "Confirm") = vbYes Then
GoTo continue:
Else
GoTo retry:
End If
continue:
'#1) i tried this:
Worksheets(templateold).Range(rng).Insert Shift:=xlToRight Worksheets(templatenew).Range(rng)
'#2) and i tried that:
Worksheets(templateold).Range(rng).Copy Worksheets(templatenew).Range(rng)
Я пробовал выбрать кулак, а затем скопировать, но ничего не работает. (
Как использовать диапазон, сохраненный в переменной, для вставки диапазона в другой лист? Извините, если мой фрагмент кода плохой, я пробовал больше вещей на работе, но у меня нет всего дома.