Как удалить столбцы диапазона Excel VBA


У меня есть диапазон с именем "Start", расположенный в ячейке"I21". И у меня есть еще один диапазон с именем "конец", расположенный в ячейке"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 

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

2 3

2 ответа:

Range(Range("start").Offset(,1), Range("end").Offset(,-1)).EntireColumn.Delete  
    Dim xlsRange As Excel.Range

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

    xlsRange.EntireColumn.Delete()