プロが教える店舗&オフィスのセキュリティ対策術

エクセル2003です。

シートをコピーし追加、
一つ前のシートの一部セルをセル参照するコードを作成しました。

今の段階ではコピーしたシート名が請求書1、請求書2、請求書3・・・となるのですが
シート名を請求書1-1、請求書1-2、請求書1-3・・・とすることは可能でしょうか?
"請求書"を"請求書1-"にするとコピーしたシートのセル参照をした部分が
うまく参照されずエラーになってしまいます。
シート名にハイフンを入れてもエラーが出ない方法をご存じの方いらっしゃいましたら
是非ご教授をお願い致します。


Sub test1()

Dim i As Integer
Worksheets(2).Select
For i = 2 To 5
Worksheets(2).Copy after:=ActiveSheet
ActiveSheet.Name = "請求書" & i
With Worksheets("請求書" & i)
.Range("H15").Formula = "=請求書" & i - 1 & "!F10"
End With
Next i

End Sub

A 回答 (1件)

"='請求書1-" & i - 1 & "'!F10"



のように、「シート名」の前と「!」の前に「'」を入れます。


Sub test1()
Dim i As Integer
Worksheets(2).Select
For i = 2 To 5
Worksheets(2).Copy after:=ActiveSheet
ActiveSheet.Name = "請求書1-" & i
With Worksheets("請求書1-" & i)
.Range("H15").Formula = "='請求書1-" & i - 1 & "'!F10"
End With
Next i
End Sub
    • good
    • 0

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