プロが教えるわが家の防犯対策術!

添付画像にありますように
ブック名:名前.xlsm 内の シート名:名前一覧
に記載のありますAさん~Dさんにつきまして
ブック名:データ.xlsx 内の シート名:データ雛形
をコピーしては新シートを隣りに作成し、その新シートの名前をAさん~Dさんへ
変更しますマクロを作成しております。

ここで、Aさんにつきましては期待通りに シート名:データ雛形 がコピーされ
シート名もAさんに変更されておりますが、Bさん以降が動かずにおります。

Bさん以降もデータ雛形をコピーして、シート名を変更したいのですけれど、
お分かりのかたいらっしゃいますでしょうか?

バージョンは2016になります。


Sub Macro1()

Dim NewName As String
Dim lastRow1 As Long
Dim i As Long

With Worksheets("名前一覧")

.Range("A1") = Worksheets("名前一覧").Range("A1").Value
lastRow1 = Worksheets("名前一覧").Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To lastRow1

NewName = Cells(i, 1).Value

Workbooks("データ.xlsx").Worksheets("データ雛形").Copy After:=Workbooks("データ.xlsx").Worksheets(i)

ActiveSheet.Name = NewName

Next i

End With

End Sub

「Excelのマクロが3巡目でコケます」の質問画像

A 回答 (1件)

NewName = Cells(i, 1).Value





NewName = .Cells(i, 1).Value

と、「.」をつけたら行くような気がします。
「.」がないと、「Worksheets("名前一覧")」の「Cells(i, 1).」だよ、という意味にならないので。
    • good
    • 0
この回答へのお礼

ありがとうございます
.(ピリオド)を付けまして期待通りに動きました
感謝感謝です

お礼日時:2020/06/16 20:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!