|
つんさん、まだ初心者さん、こんにちは
>こうちゃん さん、横から失礼します〜
いえいえ、フォローありがとうございます。
インデントはつけたほうがいいよね。
つんさん指摘以外も気になる点を直して、とりあえずエラーにはならないところまでなおしてみました。
Sub test()
'変数の型は明示的にしたほうがいいです。
'Dim n, i, A のような指定ではすべてVariant型に、
'Dim n, i, A As Long のような指定ではA以外はVariant型になります。
Dim n As Long
Dim i As Long
Dim A As Integer
Dim d As String
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("一覧")
Set ws2 = Worksheets("全営業所")
A = 2
'ws2.Cells.Range("A600").End(xlUp).Row の Cells はいりません。
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
'選択肢が1つの場合は、Select CaseよりIf文のほうが可読性がいいですよ。
If ws1.Cells(i, 10).Value = d Then
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 If
Next i
Next n
End Sub
ただこのままでは、変数Aの処理に問題があって、意図したものとちがうかもしれません。
#それが意図したものであったら失礼。
|
|