Я пытаюсь выбрать столбец, найденный по имени заголовка. Заголовок находится в столбце 19, но я не могу выбрать этот столбец из-за ошибки. Понятия не имею, что в этом плохого.

Dim h As Integer, LastHeader As Integer, LCol As Integer, LR As Long


With Sheets("Headers")
Dim RespondentCol As String
Dim x As Variant
LastHeader = .Cells(Rows.Count, 1).End(xlUp).Row
LCol = .Cells(1, Columns.Count).End(xlToLeft).Column
For h = 2 To LastHeader
    x = .Cells(h, 3).Value
    RespondentCol = Application.Match(x, AONCSATTracker.Sheets("Phone Formulas").Rows(1), 0)
Columns(RespondentCol).Select

Next h

End With

enter image description here

enter image description here

0
MrNoNo 16 Апр 2020 в 14:00

1 ответ

Лучший ответ

Dim RespondentCol As String, но количество столбцов должно быть целым

Dim h As Integer, LastHeader As Integer, LCol As Integer, LR As Long


With Sheets("Headers")
    Dim RespondentCol As String
    Dim x As Variant
    LastHeader = .Cells(Rows.Count, 1).End(xlUp).Row
    LCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    For h = 2 To LastHeader
        x = .Cells(h, 3).Value
        RespondentCol = Application.Match(x, AONCSATTracker.Sheets("Phone Formulas").Rows(1), 0)
        if IsNumeric(RespondentCol) then
            Columns(CInt(RespondentCol)).Select
        end if
    Next h

End With

Добавить короткий вариант

Dim h as Long
With Sheets("Headers")    
    For h = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row              
        .Columns( _
            Application.Match(.Cells(h, 3).Value, AONCSATTracker.Sheets("Phone Formulas").Rows(1), 0) _
            ).Select
    Next h
End With
0
Sfagnum 16 Апр 2020 в 11:29