あなたの目標は何かについて100%確信していません。私はあなたが "O4"から "O18"(それより小さくてもよい)までの最大範囲を持っていることを理解しています。そして、あなたは "0"からその範囲の最後の空白でないセルに行きたいと思います。細胞。それはあなたが何をしたいのか確かであれば、(説明はこれである)以下のコードを試してみてください。
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
が、それらはすべて空白にすることはないでしょうか?それは常に4列目から始まるのだろうか? –
したがって、範囲( "O4:O18")に空白セルと空白でないセルの数を取得したいですか? –
@ DarrenBartrup-Cookはい、それは常に4行目から始まり、空白のセルがデータ付きのセルまでカウントされ始めます。ありがとう – ramj