Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13859 / 76734 ←次へ | 前へ→

【68377】どこが間違っているのか分かりません。
質問  ガラガー  - 11/3/1(火) 0:10 -

引用なし
パスワード
   コードを作成したのですが、間違った数値が返ってきてしまいます。
どこが間違っているのか分からず困っています。
お力を貸していただければと思います。

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初心者です。よろしくお願いいたします。

4 hits

【68377】どこが間違っているのか分かりません。 ガラガー 11/3/1(火) 0:10 質問
【68378】Re:どこが間違っているのか分かりません。 kanabun 11/3/1(火) 1:18 発言
【68381】Re:どこが間違っているのか分かりません。 kanabun 11/3/1(火) 10:48 発言
【68380】Re:どこが間違っているのか分かりません。 ちーぱっく 11/3/1(火) 9:31 発言
【68382】Re:どこが間違っているのか分かりません。 kanabun 11/3/1(火) 11:42 発言

13859 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free