У меня есть оператор CASE, который пропускает блок столбцов, а затем n оператор IF, который скрывает столбцы, если worksheetfunction.COUNTA <2. Я просто хотел скрыть столбцы только с заголовками и без значений в столбце. Дело в том, что есть блок столбцов («P: U»), которые имеют объединенный всеобъемлющий заголовок в строке 1, в то время как обычные заголовки находятся в строке 2, данные начинаются со строки 3. </p>
Я пыталсянастройте Set R = Cells(1,i).EntireColumn
на Set R = Cells(2,i).EntireColumn
так, чтобы он применял только оператор IF из 2-й строки - вниз, но это работает неправильно. Оператор по-прежнему показывает один столбец из столбцов P: U из-за объединенных ячеек в строке 1.
Option Explicit
Sub ColumnHider()
Dim wf As WorksheetFunction
Dim i As Long, R As Range
Set wf = Application.WorksheetFunction
For i = 1 To 44
Select Case i
Case 9 To 14
Case Else
Set R = Cells(2, i).EntireColumn <---problem area
If wf.CountA(R) < 2 Then R.Hidden = True
End Select
Next i
End Sub