Как удалить столбцы диапазона Excel VBA - PullRequest
3 голосов
/ 29 августа 2010

У меня есть диапазон с именем «Старт», расположенный в ячейке «I21».И у меня есть другой диапазон с именем "End", расположенный в ячейке "Q21".Я хочу написать код для удаления всех столбцов между ними.Другими словами, я хочу полностью удалить столбцы J, K, L, M, N, O, P.Вот код, который у меня есть:

with ThisWorkbook.sheets("Sheet1")
    'unprotect sheet
    .Columns(.Range("Start").Column+1 & ":" & .Range("End").Column-1).Select
     Selection.Delete Shift:xlLeft
End with 

, когда дело доходит до первой строки. Столбцы ... выдает ошибку как неопределенное приложение.пожалуйста помогите,

Ответы [ 3 ]

7 голосов
/ 29 августа 2010
Range(Range("start").Offset(,1), Range("end").Offset(,-1)).EntireColumn.Delete  
0 голосов
/ 21 марта 2019

Вам не нужно указывать ссылку на строку ...

ActiveSheet.Range(, MyColumn).EntireColumn.Delete

Где 'myColumn' - произвольная ссылка на номер столбца или все, что вы хотите.

0 голосов
/ 25 июня 2012
    Dim xlsRange As Excel.Range

    xlsRange = xlsSheet.Range("i2", "i10")

    xlsRange.EntireColumn.Delete()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...