|
▼こうちゃん さん:
ロジックをいれましたが「シート名をほかのシート、VISUAL BASICで参照されるオブジェクトライブラリまたはワークシート名と同じ名前に変更することはできません」とでます。
どうすればいいのでしょうか?どうかご教示ください。
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, 10).Value
wsFlg = False
For Each ws2 In Worksheets
If ws2.Name = d Then
wsFlg = True
Exit For
End If
If Not wsFlg Then
Worksheets("a").Copy after:=Worksheets(Worksheets.Count)
'↓いれました。
Worksheets(Worksheets.Count).Name = d
A = 13
Else
A = Worksheets(d).Range("A65536").End(xlUp).Row + 1
End If
ActiveSheet.Cells(8, 2).Value = ws1.Cells(i, 9).Value
ActiveSheet.Cells(8, 5).Value = ws1.Cells(i, 10).Value
ActiveSheet.Cells(A, 1).Value = ws1.Cells(i, 4).Value
ActiveSheet.Cells(A, 2).Value = ws1.Cells(i, 5).Value
ActiveSheet.Cells(A, 3).Value = ws1.Cells(i, 6).Value
ActiveSheet.Cells(A, 4).Value = ws1.Cells(i, 7).Value
ActiveSheet.Cells(A, 5).Value = ws1.Cells(i, 11).Value
ActiveSheet.Cells(A, 11).Value = ws1.Cells(i, 12).Value
ActiveSheet.Cells(A, 11).Value = ws1.Cells(i, 12).Value
A = A + 1
Next
Next
End Sub
|
|