|    | 
     コードを作成したのですが、間違った数値が返ってきてしまいます。 
どこが間違っているのか分からず困っています。 
お力を貸していただければと思います。 
 
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初心者です。よろしくお願いいたします。 
 | 
     
    
   |