|
まだ初心者さん、こんにちは
>私の意図はこうです。
>全部で600ある選択肢をdに代入していきます。
>caseごとに、すなわちdの値ごとに、その都度addされたワークシートにデータを書きこみます。
>そして最終的に600枚のシートができる、というものです。
>ところが、ワークシートのaddすら出来ていません。
>いったいどこを直せばよいのでしょうか。
最初からそういう説明が欲しかったですね。
その仕様だと、全営業所シートはいらないと思います。
ループも1つでよさそうです。
こんな感じでいかがでしょう?
#少し冗長ですがわかりやすさ優先ということで(^^;)
#変数はある程度意味を持たせたほうが可読性があがります。
A >> NewRow d >> BranchName とかね。
Sub test()
Dim i As Long
Dim A As Integer
Dim d As String
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim wsFlg As Boolean
Set ws1 = Worksheets("一覧")
For i = 2 To ws1.Range("A65535").End(xlUp).Row
d = ws1.Cells(i, 9).Value
wsFlg = False
For Each ws2 In Worksheets
If ws2.Name = d Then
wsFlg = True
Exit For
End If
Next
If Not wsFlg Then
Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = d
End If
A = Worksheets(d).Range("A65536").End(xlUp).Row
Worksheets(d).Cells(A, 1).Value = _
ws1.Cells(i, 9).Value
Worksheets(d).Cells(A, 2).Value = _
ws1.Cells(i, 10).Value
Next
End Sub
|
|