|
▼Asaki さん:
>こんにちは。
>
>↓こんな感じでは如何でしょうか?
>Sub test()
> Dim rngLoop As Range
> Dim strCnt As String
> Dim varTmp As Variant
> Dim lngCnt As Long
> Dim strPre As String
>
> lngCnt = 0
> strPre = ""
> For Each rngLoop In Range("A1:F3")
> '1つ前のセルと同値ならカウンタをカウントアップ
> If rngLoop.Value = strPre Then
> lngCnt = lngCnt + 1
>
> '値が変わったらカンマを挟んで個数を文字列に退避
> Else
> If lngCnt <> 0 Then strCnt = strCnt & "," & lngCnt
> lngCnt = 1
> strPre = rngLoop.Value
> End If
> Next rngLoop
> '最終データの書き込み
> strCnt = Mid(strCnt, 2) & "," & lngCnt
> 'カンマで区切って配列に格納
> varTmp = Split(strCnt, ",")
> '配列の内容をセルに展開
> Cells(4, 1).End(xlToRight).ClearContents
> Cells(4, 1).Resize(, UBound(varTmp) + 1).Value = varTmp
> '配列初期化
> Erase varTmp
>End Sub
色々教えて貰いありがとうございます。
早速マクロ登録して実行してみました。
自分の知識が無い為に上手く理解出来てないようです。
差し支えなければもう少し手助けしてください。
実際のデータは”統計”というシートのR5:AC107の範囲に記されてます。
これをR110:AC150の間に変換した数値を入れたいのですが、知識不足の
為、せっかく頂いたマクロのどこを修正して良いかもわからない状況です。
よろしかったら、ここら辺も教えて下さい。
|
|