|
おはようございます。
>>データが2万件くらいあるのと、その操作を
>>シート別に31回繰り返さなければいけないので
>20000×31シート=620000行もあるのでしょうか?
かみちゃんさんが質問されてる上記が気になるけど、
私のコードの複数シートに対応したものをアップします。
1 To Worksheets.Count は全シートとして
考えました。適宜変更してください。
最初の test がうまくいったら test2 を試してください。
今週はあまり質問箱見れないかもしれないです。
では。
Sub test2()
Dim t As Long
Dim m As Long
Dim c As Range
Dim i As Long
Dim buf As Variant
For i = 1 To Worksheets.Count '★適宜変更
With Worksheets(i)
On Error Resume Next
t = .Columns("B").SpecialCells(2).Areas.Count
ReDim buf(1 To t, 1 To 2)
m = 0 '初期化
For Each c In .Columns("B").SpecialCells(2)
m = m + 1
buf(m, 1) = c.Value
Next
m = 0 '初期化
For Each c In .Columns("B").SpecialCells(4).Areas
m = m + 1
buf(m, 2) = c.Count
Next
.Range("C1").Resize(t, 2).Value = buf
On Error GoTo 0
End With
Next
End Sub
|
|