回答編集履歴
2
見直し
test
CHANGED
@@ -1,15 +1,27 @@
|
|
1
|
-
`Set sheet = Worksheets("Sheet1")`
|
2
|
-
|
3
|
-
シート名でワークシートを参照している部分が、
|
4
|
-
|
5
|
-
|
1
|
+
手元で再現してみたので、回答内容を全面刷新しました。
|
6
|
-
|
7
|
-
ためしに
|
8
|
-
|
9
|
-
`sheet.Cells(r, 7)`を`ActiveSheet.Cells(r, 7)`にしたら変わるでしょうか。
|
10
2
|
|
11
3
|
|
12
4
|
|
13
|
-
|
5
|
+
まず、`r = sheet.Cells(j - 1, 7).End(xlUp).Row`が適切に想定した数字を拾ってきているかの確認をしましょう。
|
14
6
|
|
15
|
-
|
7
|
+
このコードでスタートするべき行番号を設定しているものと思いますが、
|
8
|
+
|
9
|
+
rの数字がおかしいうちは次のDo Whileループに全く入っていきません。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
さらに、ループ処理の中の`i <= r`は
|
14
|
+
|
15
|
+
iの値を示したコード内でわからなかったのですが、
|
16
|
+
|
17
|
+
条件次第ではrが0以下になってエラーになりかねないことを
|
18
|
+
|
19
|
+
確認したほうが良いです。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
F8キーでステップ実行しつつ、
|
24
|
+
|
25
|
+
イミディエイトウィンドウで気になる変数を「? r」とかすれば表示してくれるので、
|
26
|
+
|
27
|
+
想定通りの動きになるか変数の中身を点検しながらステップ実行してください。
|
1
加筆修正
test
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
-
`sheet
|
1
|
+
`Set sheet = Worksheets("Sheet1")`
|
2
2
|
|
3
|
+
シート名でワークシートを参照している部分が、
|
4
|
+
|
3
|
-
sheetって
|
5
|
+
適切にsheetって変数に代入できているかどうかの確認と、
|
6
|
+
|
7
|
+
ためしに
|
8
|
+
|
9
|
+
`sheet.Cells(r, 7)`を`ActiveSheet.Cells(r, 7)`にしたら変わるでしょうか。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
ThisWorkbook.Sheets("~")など、
|
14
|
+
|
15
|
+
曖昧さを回避する書き方をした方がいい気がします。
|