Sub test_calculateval()
Dim rnData, r As Range, ThisYearID, LR, FR, EndR, HomeCount, AwayCount, DrawCount, i As Long, Hometeam As String
ThisYearID = Sheet5.Cells(2, 1).Value - 1
Hometeam = Sheet5.Cells(2, 5)
HomeCount = 0
With Sheet1
Set rnData = Range(Range("A2"), Range("R2").End(xlDown))
With rnData
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range(Range("A2"), Range("R2").End(xlDown)).AutoFilter Field:=1, Criteria1:=">" & ThisYearID - 5
ActiveSheet.Range(Range("A2"), Range("R2").End(xlDown)).AutoFilter Field:=5, Criteria1:=Hometeam
LR = Range("A" & Rows.count).End(xlUp).Row
Set r = ActiveSheet.Range("A2:R" & LR).Rows.SpecialCells(xlCellTypeVisible)
FR = r.Row
EndR = Range("A" & FR).End(xlDown).Row
For Each rngarea In .SpecialCells(xlCellTypeVisible).Areas
If Range("K2:K" & LR).SpecialCells(xlCellTypeVisible).Value = "H" Then
HomeCount = HomeCount + 1
End If
Next
End With
End With
MsgBox HomeCount
End Sub
我想檢查列K(過濾後)中的每個單元格是否等於「H」,並對它們進行計數。 此代碼是拋出一個類型不匹配錯誤,似乎是什麼問題vba檢查一列中的每個單元格是否等於過濾後的變量
嘗試調試,並找出哪些行代碼導致類型不匹配的問題:
與這一個替換這個現有代碼?大多數情況下,整數定義的變量正在分配一個字符串值,VBA不能隱式執行此轉換。 – jainashish
我認爲這一個: 對於每個rngarea在.SpecialCells(xlCellTypeVisible).Areas 如果範圍( 「K2:K」 & LR).SpecialCells(xlCellTypeVisible)。價值= 「H」。然後 HomeCount = HomeCount + 1 完如果 – Chadi