вставить столбец слева от ячейки VBA - PullRequest
0 голосов
/ 02 февраля 2019

Мне нужно перебрать строку заголовка и вставить весь столбец слева в зависимости от определенных условий.

Sub InsertCol()
    Dim i As Integer

    For i = 1 To 20
        If i Mod 2 = 0 Then
            Cells(1, i).Columns.Insert  ' this only inserts a cell..need an entire column
        End If

    Next i

End Sub

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Вам нужно использовать Columns(i).Insert

Sub InsertCol()
    Dim i As Integer

    For i = 1 To 20
        If i Mod 2 = 0 Then
            Columns(i).Insert
        End If

    Next i

End Sub

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

Sub InsertCol()
    Dim i As Integer

    For i = 20 To 1 Step -1
        If i Mod 2 = 0 Then
            Columns(i).Insert
        End If

    Next i

End Sub
0 голосов
/ 02 февраля 2019

Возможно, вы ищете что-то более похожее на

Columns("B:B").Insert Shift:=xlToLeft

. В моем примере столбец будет слева от указанного диапазона ("B: B").

Вам также не нужно ссылаться на полный диапазон, вы можете просто сослаться на меня так.

Columns(i).Insert Shift:=xlToLeft     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...