質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

コピー

元のオブジェクトを破壊することなく、オブジェクトの複製を生成することをコピーと呼びます。

Q&A

解決済

1回答

1564閲覧

VBA シートコピーで2回目に操作するとエラーになります

tomoki040

総合スコア1

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

コピー

元のオブジェクトを破壊することなく、オブジェクトの複製を生成することをコピーと呼びます。

0グッド

0クリップ

投稿2021/06/30 15:37

前提・実現したいこと

シート名「〇日(4F)」と「〇日(5F)」のシートを日付を変えながらコピーするVBAを作りました。
1回目は思った通りに動いたのですが、2回目に操作するとエラーが発生しました

発生している問題・エラーメッセージ

実行エラー”9”
インデックスが有効範囲にありません

該当のソースコード

Sub シートコピーして追加()

Dim ws As Integer 'シート名から数字を取得
Dim koteisheetOne As String ' 4Fのシート名を作成
Dim koteisheetTwo As String ' 5Fのシート名を作成
Dim Myi As Integer
Dim i As Integer
Dim cnt As Integer '次回入替日を取得

'シート名から数字のみを引き出す
ws = Val(ActiveSheet.Name)
koteisheetOne = ws & "日(4F)"
koteisheetTwo = ws & "日(5F)"
Myi = ws + 1

cnt = InputBox("次回入替日を入力してください")

For i = Myi To cnt
Worksheets(koteisheetOne).Copy after:=Worksheets(koteisheetTwo)
ActiveSheet.Name = i & "日(4F)"
koteisheetOne = i & "日(4F)"
Worksheets(koteisheetTwo).Copy after:=Worksheets(koteisheetOne)
ActiveSheet.Name = i & "日(5F)"
koteisheetTwo = i & "日(5F)"
Next i

End Sub

試したこと

格納されている変数を確認するなどしました。
1回目の動いた状態に戻すときちんと動きました。

補足情報(FW/ツールのバージョンなど)

使用しているのは365です。
何が問題なのか一人では解決できません。
どうか教えてください。
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

juner

2021/06/30 22:26

ソースコードは markdownでシンタックスハイライトかかる様にしてください 言語名のところはvbscriptの指定の必要があります(vbaの指定は無いので) https://teratail.com/questions/7119
guest

回答1

0

ベストアンサー

Forループ内の左カッコ"("を半角にすれば動きます。

投稿2021/06/30 23:32

neconekocat

総合スコア443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomoki040

2021/07/01 12:15

ありがとうございました。 あまりの単純ミスに気づかず助かりました。 もっと勉強します
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問