前提・実現したいこと
シート名「〇日(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です。
何が問題なのか一人では解決できません。
どうか教えてください。
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー