回答編集履歴

2

修正

2025/03/03 08:04

投稿

Black_Velvet
Black_Velvet

スコア110

test CHANGED
@@ -74,12 +74,6 @@
74
74
 
75
75
  ActiveCell.Offset(2, 0).Activate
76
76
  ActiveCell.Offset(0, -7).Activate
77
-
78
- ElseIf (i - 1) Mod 7 = 0 Then
79
-
80
- Sheets("シート1").Activate
81
-
82
- ActiveCell.Offset(5, 0).Activate
83
77
 
84
78
  Else
85
79
 
@@ -114,9 +108,19 @@
114
108
 
115
109
  ActiveCell.Offset(2, 0).Activate
116
110
  ActiveCell.Offset(0, -7).Activate
117
-
111
+
112
+
113
+
118
114
  End If
119
115
 
116
+ If (i - 1) Mod 7 = 0 Then
117
+
118
+ Sheets("シート1").Activate
119
+
120
+ ActiveCell.Offset(5, 0).Activate
121
+
122
+ End If
123
+
120
124
  Else
121
125
  MsgBox "見つかりませんでした。", vbExclamation
122
126
  End If
@@ -124,6 +128,8 @@
124
128
  Next i
125
129
 
126
130
  End Sub
131
+
132
+
127
133
  ```
128
134
 
129
135
  for i = 1 to 7 step7
@@ -135,8 +141,9 @@
135
141
 
136
142
  ElseIf i = 7 Then
137
143
  この部分は7を指定してしまうとi=7を実行されるときに
138
- 「5行先へ移動」を実行されてしまうので
144
+ 「5行先へ移動」を実行されてしまうので「転記を行ってから5行先に移動」するなら
145
+ If外に
139
146
  (i - 1) Mod 7 = 0
140
- を、入れています。(1から7までしかループしないのでそもそもこの条件分岐が必要なのかどうか…)
147
+ を、入れます。(1から7までしかループしないのでそもそもこの条件分岐が必要なのかどうか…)
141
148
 
142
149
  もし、わからなければ一度chatGPTに聞いてみるといいかもしれません。

1

書き間違え

2025/03/03 07:57

投稿

Black_Velvet
Black_Velvet

スコア110

test CHANGED
@@ -126,7 +126,7 @@
126
126
  End Sub
127
127
  ```
128
128
 
129
- for i = i to 7 step7
129
+ for i = 1 to 7 step7
130
130
  これを行うとiに1と7しか代入されません。
131
131
  7回行うには「step 7」を消さなければなりません。
132
132
  step 7は「7個先まで飛ばす」という事です。