Public Sub CountKyaku()
Dim y As Long, Kya(4) As Long, i As Long, Tot As Long, Ky As Long
Dim szCor As String, szTxt As String, ln As Long
Do While (Sheet1.Cells(y + 2, 1) <> "") 'Sheet1のデータソースがなくなるまで繰り返し
'■■■ [1]統計用変数準備
For i = 0 To 3
Kya(i) = 0 '集計用の変数をクリア
Next
Tot = 0 '連対総数集計用の変数クリア
szCor = Sheet1.Cells(y + 2, 7) + CStr(Sheet1.Cells(y + 2, 8))
szTxt = szCor 'トラック名比較用
Sheet2.Cells(ln + 2, 1) = szCor '集計用シートにトラック名書きこみ
'■■■ [2]同一トラックの脚質別連対数カウント
Do While (szTxt = szCor) 'トラック名比較
Ky = Sheet1.Cells(y + 2, 24) - 1 '脚質データ取得
Kya(Ky) = Kya(Ky) + 1 '脚質別出現数カウント
Tot = Tot + 1 '総数カウント
y = y + 1 'データソースの読みこみ位置+1
szTxt = Sheet1.Cells(y + 2, 7) + CStr(Sheet1.Cells(y + 2, 8))
Loop
szCor = szTxt '次のトラック名
'■■■ [3]カウントしたものを出力
For i = 0 To 3
Sheet2.Cells(ln + 2, i + 2) = Kya(i) '集計カウント数
Sheet2.Cells(ln + 2, i + 6) = Format(Kya(i) / Tot, "0.0%") '連対占有率
Next
ln = ln + 1 '出力用ワークシート+1行
Loop
|