此代码使用.Hidden,旨在忽略隐藏的行,但输出无法执行此操作:
For j = [ESDataRow1].Row To lastEIRPSummaryRow
If [ESPriPred100].Rows(j).EntireRow.Hidden = False Then
If [ESPriPred100].Rows(j) >= [ESPRiSpec100].Rows(j) Then
y2count = y2count + 1
End If
End If
Next j
所以我尝试使用.SpecialCells(xlCellTypeVisible),它产生"应用程序定义或对象定义的错误":
Dim cel As Range, rng As Range
Set rng = Range(Cells([ESDataRow1].Row, 1), Cells(lastEIRPSummaryRow, 1))
For Each cel In rng.SpecialCells(xlCellTypeVisible)
If [ESPriPred100].Rows(j) >= [ESPRiSpec100].Rows(j) Then
y2count = y2count + 1
End If
Next
我的代码出了什么问题?
答案 0 :(得分:2)
Sub jzz()
Dim i As Long
For i = 1 To 5
If Rows(i).EntireRow.Hidden = True Then
Debug.Print "row: " & i & " is hidden"
Else
Debug.Print "row: " & i & " is not hidden"
End If
Next i
End Sub
适合我,而我却无法打破它。
你能用这样一个简单的子测试吗?如果可行,请添加“复杂性”。一步一步地看看它在哪里打破。 如果它不起作用,请在干净的(新)工作簿中进行测试。