我想計算給定數據範圍內的所有空白和非空白單元格,直到數據單元格爲止。但我也有一個限制只能參考,從O4:O18
。計數空白和非空白單元格
從上面的示例給出,我只需要從ROW4空白細胞計數與數據的細胞,其是asd
。任何幫助?謝謝!
count的使用是計算非空白單元格內的空白單元格。可以說數據的最後一行是15,所以15將是數據的最後一行,從第4行到第15行,將計數範圍內的空白單元格。
我想計算給定數據範圍內的所有空白和非空白單元格,直到數據單元格爲止。但我也有一個限制只能參考,從O4:O18
。計數空白和非空白單元格
從上面的示例給出,我只需要從ROW4空白細胞計數與數據的細胞,其是asd
。任何幫助?謝謝!
count的使用是計算非空白單元格內的空白單元格。可以說數據的最後一行是15,所以15將是數據的最後一行,從第4行到第15行,將計數範圍內的空白單元格。
可以easely達到使用worksheetfunction
期望的結果,試試這個:
Sub test()
Dim iBlank&, iNonBlank&, rng As Range
Set rng = Range("O4:O" & [O4:O18].Find("*", , , , , xlPrevious).Row)
With WorksheetFunction
iNonBlank = .CountA(rng)
iBlank = .CountBlank(rng)
End With
MsgBox "Blank: " & iBlank & vbNewLine & "NonBlank: " & iNonBlank
End Sub
我不是100%確定你的目標是什麼。我知道你有一個從「O4」到「O18」的最大範圍(它可以更小),並且你想從「O4」到該範圍內的最後一個非空白單元格,計算空白和非空白細胞。如果它確實是你想要做什麼,試試下面的代碼(解釋是在它):
Sub CountingBlankAndNonBlank()
Dim MyRange As Range
Dim LastRow As Long, TotalRange As Long
Dim CountBlank As Long, CountNonBlank As Long
'Find the last row with data in the Range("O4:O18")
LastRow = 19 - Range(Cells(18, 15), Cells(Rows.Count, 15).End(xlUp)).Count
'Set a range from "O4" to last cell with data
Set MyRange = Range(Cells(4, 15), Cells(LastRow, 15))
'How many cells in my Range
TotalRange = LastRow - 3
'How many blank cells in my Range
CountBlank = MyRange.SpecialCells(xlCellTypeBlanks).Count
'How many non-blank cells in may range (Total - Blank)
CountNonBlank = TotalRange - CountBlank
MsgBox "There are:" & vbNewLine _
& " - " & CountBlank & " blank cells" & vbNewLine _
& " - " & CountNonBlank & " non-blank cells" & vbNewLine _
& " - " & LastRow & " would be the lastrow"
End Sub
計數空白單元格(在第二實施例和#N/A返回3如果所有小區空白):
=COUNTBLANK($O$4:INDEX($O$4:$O$18,LOOKUP(2,1/($O$4:$O$18<>""),ROW($O$4:$O$18))-3))
計數非空白細胞(返回6在第二實施例和1,如果所有小區空白):
=COUNTA($O$4:INDEX($O$4:$O$18,LOOKUP(2,1/($O$4:$O$18<>""),ROW($O$4:$O$18))-3))
從這裏使用查找公式:What is this programmer doing with his Lookup function?
他們會不會全部是空白,如果你從開始細胞計數到第一個單元格的數據?它會始終在第4行開始嗎? –
所以你想獲得範圍(「O4:O18」)中的空白單元格和非空白單元格的數量? –
@ DarrenBartrup-Cook是的,它總是從第4行開始,並將開始計算空白單元格,直到數據單元格爲止。謝謝 – ramj