-2

Чего мне нужно добиться, так это второго столбца ниже. Я новичок в VBA, поэтому любая помощь будет высоко ценится.

abc1200                        abc1200
MACHINE                        
supplier
cost
address
invoice number

abc2400                        abc2400
MACHINE
supplier
cost
address
invoice number
.
.
.

Код записи, как показано ниже. Просто нужно повторить в выбранном диапазоне

 ActiveCell.Offset(0, -1).Range("A1").Select
 Selection.Copy
 ActiveCell.Offset(0, 1).Range("A1").Select
 ActiveSheet.Paste
 ActiveCell.Offset(6, -1).Range("A1").Select
 Application.CutCopyMode = False
 Selection.Copy
 ActiveCell.Offset(0, 1).Range("A1").Select
 ActiveSheet.Paste
 ActiveCell.Offset(6, -1).Range("A1").Select
 Application.CutCopyMode = False
 Selection.Copy
 ActiveCell.Offset(0, 1).Range("A1").Select
 ActiveSheet.Paste

1 ответ1

0

Копирование / вставка требуется только / используется во время записи макроса. В VBA намного проще напрямую назначать значения, например
targetcell.value = sourcecell.value и т. д.

Итак, ваши первые четыре строки будут просто:
ActiveCell.Offset(0, 1).Range("A1").Value = ActiveCell.Offset(0, -1).Range("A1").Value

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .