Если блок не распознан, VBA (цикл по видимым строкам) - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь перебрать видимые строки (после применения фильтра) на листе Excel и отобразить все ячейки в определенном столбце в этих видимых строках. У меня есть цикл for, который работает, однако я хочу избежать первой строки, которая содержит заголовок и которая напечатана в моем цикле.

Для этого я вставил условие if, которое исключило бы строку заголовка. Однако компилятор VBA не распознает мой блок If. Я считаю, что мой синтаксис правильный. Как я могу это исправить?

Public Sub iterate_factIDs()


'https://social.msdn.microsoft.com/Forums/office/en-US/79f9d96d-1ec8-48e6- 
b7dd-e11901a5c72b/looping-through-excel-filtered-range?forum=exceldev
Sheets("GL").Select
Dim rngC As Range
Dim ws As Worksheet
Set ws = ActiveSheet
For Each rngC In Intersect(ws.UsedRange, 
ws.Range("B:B").SpecialCells(xlCellTypeVisible))
    'this is the if condition that is not recognized
    If rngC.Row <> 1 Then:
    'MsgBox ("Found Row: " & rngC.Row)
        'want to display all the numeric values in Column 2 after filter
        'this also displays the title of the column which is in row 1 column B 
        MsgBox ("FactID: " & Cells(rngC.Row, 2))
    End If
Next rngC


End Sub

Компилятор возвращает «End If без Block If», даже если в моем коде есть оператор If-Then.

...