| 
    
     |  | ▼こうちゃんさん、つんさん、ありがとうございます。 
 私の意図はこうです。
 全部で600ある選択肢をdに代入していきます。
 caseごとに、すなわちdの値ごとに、その都度addされたワークシートにデータを書きこみます。
 そして最終的に600枚のシートができる、というものです。
 ところが、ワークシートのaddすら出来ていません。
 いったいどこを直せばよいのでしょうか。
 
 
 Sub test()
 Dim n As Long
 Dim i As Long
 Dim A As Integer
 Dim d As String
 Dim ws1 As Worksheet
 Dim ws2 As Worksheet
 '変数bを追加します。
 Dim b As Integer
 
 Set ws1 = Worksheets("一覧")
 Set ws2 = Worksheets("全営業所")
 
 '変数Aの処理をしました
 A = 13
 For n = 1 To ws2.Range("A600").End(xlUp).Row
 d = ws2.Cells(n, 1).Value
 For i = 2 To ws1.Range("A65535").End(xlUp).Row
 'select caseにします。実際は選択肢が600個すなわちdに代入されうる値が_
 600種類あるからです。
 Select Case ws1.Cells(i, 10).Value = d
 Case d
 'b=1のときのみワークシートをaddするロジックを追加します。
 If b = 1 Then
 Worksheets.Add after:=Worksheets(1), Count:=1
 b = b + 1
 End If
 'addしたてのワークシートに書きこんでいきたいのです。
 Sheets(Cells(i, 10).Value).Cells(A, 1).Value=_
 ws1.Cells(i, 9).Value
 Sheets(Cells(i, 10).Value).Cells(A, 2).Value=_
 ws1.Cells(i, 10).Value
 A = A + 1
 End Select
 b = 1
 Next i
 Next n
 
 End Sub
 
 |  |