| 
    
     |  | コードを作成したのですが、間違った数値が返ってきてしまいます。 どこが間違っているのか分からず困っています。
 お力を貸していただければと思います。
 
 B9セル以下のB列の奇数番号(B9,B11,B13・・・)に任意の数字(1〜9)が入っています。
 その数字が3または5の場合、その行のH列からP列の数値が入っているセルの数をカウントしたく思っています。
 (H列からP列には空欄または時刻のデータが入っています。)
 また、シートが20枚ほどあり、すべてのシートで同じ作業を行い、最終的には別シートを作成し、A列にシート名、B列にカウントしたセルの数を表示させます。
 
 ちなみに全シート、データはA列からP列、1行目から120行目くらいまで入っています。(空欄のセルもあります。)
 
 以下がコードです。
 
 Sub Try1()
 Dim sumSheet As Worksheet
 Dim ws As Worksheet
 Dim i As Long, LastRow As Long
 Dim n As Long, nCount As Long
 
 '集計シートの作成
 With ActiveWorkbook.Worksheets
 On Error Resume Next
 Set sumSheet = .Item("sum")
 On Error GoTo 0
 If sumSheet Is Nothing Then
 Set sumSheet = .Add(After:=.Item(.Count))
 sumSheet.Name = "sum"
 Else
 sumSheet.UsedRange.ClearContents
 End If
 ReDim res(1 To .Count - 1, 1 To 2)
 End With
 
 '集計
 n = 0
 For Each ws In ActiveWorkbook.Worksheets
 If ws.Name <> "sum" Then
 With ws
 LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
 nCount = 0
 For i = 9 To LastRow Step 2
 Select Case .Cells(i, 2).Value
 Case 3,5
 nCount = nCount + WorksheetFunction.Count(.Cells(i, 8).Resize(, 9))
 End Select
 Next
 n = n + 1
 res(n, 1) = .Name
 res(n, 2) = nCount
 End With
 End If
 Next
 sumSheet.Range("A1").Resize(n, 2).Value = res
 sumSheet.Activate
 MsgBox "集計しました"
 End Sub
 
 
 VBA初心者です。よろしくお願いいたします。
 
 
 |  |