|
今日は。
>クロス集計ではなく
>keinさんからいただいたように一ヶ月分だけをsheet2に集計させてカメラボタンでsheet1の1行目に表示させたいわけです。
オートフィルタは使っていませんが、これでどうですか。
sheet2へ表示するようにしました。
sheet1の1行目は項目行です。
Sub test()
Dim dic As Object
Dim rngA As Range, r As Range
Dim dkey As String, m As String
Dim v, vnt, outvnt
'
m = InputBox("抽出する月を入力", "1〜12を入力", 5)
Set rngA = ActiveSheet.Range("A2", Range("A65536").End(xlUp))
Set dic = CreateObject("Scripting.Dictionary")
vnt = Array("月", "受付", "適合", "不備")
For Each v In vnt
dic(m & v) = Empty
Next
dic(m & "月") = m & "月"
'
For Each r In rngA.Cells
dkey = Split(r.Text, "/")(0) & r.Offset(, 3).Text
dic(dkey) = dic(dkey) + 1 '集計
Next
'
With Sheets("Sheet2")
.Cells.Clear
.Range("A1").Resize(4).Value _
= Application.Transpose(vnt)
.Range("B1").Resize(4).Value _
= Application.Transpose(dic.items)
.Select
End With
'
Set r = Nothing
Set dic = Nothing
Set rngA = Nothing
End Sub
|
|