質問するログイン新規登録

回答編集履歴

2

見直し

2018/03/16 03:10

投稿

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

1

加筆修正

2018/03/16 03:10

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,8 @@
1
+ `Set sheet = Worksheets("Sheet1")`
2
+ シート名でワークシートを参照している部分が、
3
+ 適切にsheetって変数に代入できているかどうかの確認と、
4
+ ためしに
1
- `sheet.Cells(r, 7)`を`ActiveSheet.Cells(r, 7)`にしたらどう
5
+ `sheet.Cells(r, 7)`を`ActiveSheet.Cells(r, 7)`にしたら変わるしょう
6
+
7
+ ThisWorkbook.Sheets("~")など、
2
- sheetってだけではアクセスで気がし
8
+ 曖昧さを回避する書方をした方がいい気がします