|
おはようございます。
シートを相手先コード別に作成して集計するのですね!!
よく読んでませんでした。
配列を使う方法で前回の投稿を変更しました。
'===========================
Sub main()
Dim sht As Worksheet
Dim tarray As Variant
Dim wsht As Worksheet
Dim idx As Long
Dim wcnt As Long
Const セル範囲 = "d18:d30"
On Error Resume Next
wcnt = Worksheets.Count
For idx = 1 To wcnt
Set sht = Worksheets(idx)
tarray = Split(sht.Name, "-")
If UBound(tarray) > 0 And tarray(0) <> "" Then
Err.Clear
Set wsht = Worksheets(tarray(0) & "合計")
If Err.Number <> 0 Then
Set wsht = Worksheets.Add(after:=Worksheets(Worksheets.Count))
wsht.Name = tarray(0) & "合計"
wsht.Range(セル範囲).Value = 0
End If
wsht.Range(セル範囲).Value = Evaluate("'" & wsht.Name & "'!" & セル範囲 & "+'" & _
sht.Name & "'!" & セル範囲)
End If
Next
Set sht = Nothing
Set wsht = Nothing
On Error GoTo 0
End Sub
|
|