Я пытаюсь записать макрос, который копирует содержание столбца 1 от листа 1 к столбцу 2 на листе 2. Это - то, как модуль похож, но, когда я выполняю его, я добираюсь
Ошибка периода выполнения 9, Нижний индекс из диапазона.
Sub OneCell()
Sheets("Sheet1").Select
'select column 1 A1'
Range("A1:A3").Select
Selection.Copy
Range("B1:B3").Select
ActiveSheet.Paste
Sheets("Sheet2").Select
Application.CutCopyMode = False
End Sub
Выбор часто не нужен. Попробуйте это
Sub OneCell()
Sheets("Sheet2").range("B1:B3").value = Sheets("Sheet1").range("A1:A3").value
End Sub
Я не уверен, зачем вам понадобилось отключать подписку, если только ваши простыни на самом деле не назывались Sheet1
или Sheet2
. Когда я переименовываю свой Sheet2
в Sheet_2
, у меня возникает та же проблема.
Кроме того, некоторые из ваших кодов кажутся неправильными (вы вставляете перед выбором второго листа). Этот код мне подходит.
Sub OneCell()
Sheets("Sheet1").Select
Range("A1:A3").Copy
Sheets("Sheet2").Select
Range("b1:b3").Select
ActiveSheet.Paste
End Sub
Если вы не хотите знать, как называются листы, вы можете использовать целочисленные индексы следующим образом:
Sub OneCell()
Sheets(1).Select
Range("A1:A3").Copy
Sheets(2).Select
Range("b1:b3").Select
ActiveSheet.Paste
End Sub