実現したいこと
①メッセージボックスに入力した値をシート2で検索する
※入力値が空白の場合は終了する
②シート2の文字検索結果の値をシート1に返す
③①の処理が7回完了したら下に5セル移動する
④再度①の処理を繰り返す
発生している問題・分からないこと
①の処理はできますが、③~④にかけての処理がうまくいきません。
該当のソースコード
For i = 1 To 7 Step 7 myprompt = "項目を入力してください" mytitle = "作成" x = Application.InputBox(myprompt, mytitle) If x = "" Then Exit For Sheets("シート2").Activate Set foundCell = Cells.Find(What:=x, LookIn:=xlFormulas, LookAt:=xlPart) foundCell.Activate ex1 = ActiveCell.Offset(0, -2).Value ex2 = ActiveCell.Offset(0, -1).Value ex3 = ActiveCell.Offset(0, 1).Value koumoku1 = ActiveCell.Offset(0, 2).Value koumoku2 = ActiveCell.Offset(0, 3).Value koumoku3 = ActiveCell.Offset(0, 4).Value koumoku4 = ActiveCell.Offset(0, 5).Value koumoku5 = ActiveCell.Offset(0, 6).Value If Not foundCell Is Nothing Then If i = 1 Then Sheets("シート1").Activate Range("C7").Activate Range("C7").Value = ex1 ActiveCell.Offset(0, 2).Activate ActiveCell.Value = ex2 ActiveCell.Offset(1, 0).Activate ActiveCell.Value = foundCell ActiveCell.Offset(1, 0).Activate ActiveCell.Value = ex3 ActiveCell.Offset(-2, 0).Activate ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku1 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku2 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku3 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku4 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku5 ActiveCell.Offset(2, 0).Activate ActiveCell.Offset(0, -7).Activate ElseIf i = 7 Then Sheets("シート1").Activate ActiveCell.Offset(5, 0).Activate Else Sheets("シート1").Activate ActiveCell.Value = ex1 ActiveCell.Offset(0, 2).Activate ActiveCell.Value = ex2 ActiveCell.Offset(1, 0).Activate ActiveCell.Value = foundCell ActiveCell.Offset(1, 0).Activate ActiveCell.Value = ex3 ActiveCell.Offset(-2, 0).Activate ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku1 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku2 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku3 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku4 ActiveCell.Offset(0, 1).Activate ActiveCell.Value = koumoku5 ActiveCell.Offset(2, 0).Activate ActiveCell.Offset(0, -7).Activate End If Else MsgBox "見つかりませんでした。", vbExclamation End If Next i
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
7回目までは実施可能だが、8回目以降がうまくいかない
補足
特になし

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2025/03/03 08:16
2025/03/03 08:23
2025/03/03 09:08
2025/03/04 00:24
2025/03/04 07:37
2025/03/04 07:42
2025/03/04 08:17