2

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

Тем не менее, он продолжает вставлять новые столбцы слева от диапазона. Я хочу вставить столбцы в пределах диапазона.

Вот мой код VBA для обеспечения некоторого контекста:

Sub InsertNewColummnbetween()
Range(Range("Data_FirstColumn").Offset(, 1), Range("Data_Net").Offset(,2)).EntireColumn.

Application.DisplayAlerts = False
Dim i As Integer
For i = 1 To Range("Assumptions!B26").Value
    Columns(1).INSERT
Next i
Application.DisplayAlerts = True
End Sub

Что не так с моими командами?

2 ответа2

0

Отчасти это может зависеть от того, есть ли у вас рабочий лист с данными или вы определили ListObject.

В вашем коде я бы избегал цикла, поскольку вы хотите вставить 2 столбца только один раз.

Sub InsertNewColumn()
  Dim objSheet as Worksheet
  Set objSheet = ActiveWorksheet
  With objSheet
        .Columns(2).Insert shift:=xlRight
  End With
End Sub
0

Метод Insert позволяет только сдвигать диапазон вниз или вправо (в данном случае вправо). По этой причине вам нужно указать диапазон столбца, который вы хотите расположить справа от вставленных столбцов. Смотрите эту ссылку для получения дополнительной информации о вставке.

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