Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


57741 / 76738 ←次へ | 前へ→

【23731】Re:For Next と For Each文の関係
回答  ちゃっぴ  - 05/4/2(土) 22:13 -

引用なし
パスワード
   >つぎのように訂正したのですが、With文でエラーになります。
>With文を理解していません。

Debug.Print Workbooks("〜").Worksheets("〜").Cells(1, 1).Value
Debug.Print Workbooks("〜").Worksheets("〜").Cells(2, 1).Value
Debug.Print Workbooks("〜").Worksheets("〜").Cells(3, 1).Value

これを、With Statementを使用して書き直すと
こういう感じになります。

With Workbooks("〜").Worksheets("〜")
  Debug.Print .Cells(1, 1).Value
  Debug.Print .Cells(2, 1).Value
  Debug.Print .Cells(3, 1).Value
End With

>>SelectやActive〜のような選択するだけの処理は
>>誤動作の原因となるので、使わない方が良いでしょう。

Selection等を使用した場合、その名のとおり、
現在選択されているものを対象に処理されますよね。

この現在選択されているというのが曲者で、Bookを開いたりとかすると
選択されているBookが変更されたりします。

ということはすなわち、そこまで把握してCodeを読まないといけないので
それだけわかりにくいということになります。

明示できるような箇所でしたら、明示してやったほうがいいでしょう。
(処理も速くなりますし・・・)

>>あとシートを削除すると、行削除と同様に
>>シートの順番(インデックス番号)がズレますので
>>for〜Next で Step -1 で逆からループしないと正しく動作しません。
>For Eachを、For Nextに書き換えるのでしょうか?
>上記のFor Nextでは、意味ないように思いますが…。

Index番号を意識してください。  
ある行を削除すると次の行の行番号はどうなりますか?

Indexが存在するCollection ObjectをFor Each 〜 Next Loopで
まわすとえらいことになります。行はIndex指定できます。

FSOの Files Collection Object のような場合、
Index指定が存在しないので、そういった現象は発生しません。

0 hits

【23713】For Next と For Each文の関係 okb 05/4/2(土) 14:22 質問
【23717】Re:For Next と For Each文の関係 IROC 05/4/2(土) 15:03 回答
【23724】Re:For Next と For Each文の関係 okb 05/4/2(土) 16:24 質問
【23731】Re:For Next と For Each文の関係 ちゃっぴ 05/4/2(土) 22:13 回答
【23732】Re:For Next と For Each文の関係 ちゃっぴ 05/4/2(土) 22:18 発言
【23734】Re:For Next と For Each文の関係 okb 05/4/3(日) 0:03 質問
【23735】Re:For Next と For Each文の関係 ウッシ 05/4/3(日) 0:22 回答
【23737】Re:For Next と For Each文の関係 okb 05/4/3(日) 0:40 質問
【23738】Re:For Next と For Each文の関係 ウッシ 05/4/3(日) 0:46 回答
【23739】Re:For Next と For Each文の関係 ちゃっぴ 05/4/3(日) 1:12 回答
【23745】Re:For Next と For Each文の関係 okb 05/4/3(日) 10:03 質問
【23773】Re:For Next と For Each文の関係 ちゃっぴ 05/4/3(日) 23:03 回答
【23741】Re:For Next と For Each文の関係 okb 05/4/3(日) 1:30 質問
【23746】Re:For Next と For Each文の関係 ウッシ 05/4/3(日) 10:27 発言
【23750】Re:For Next と For Each文の関係 okb 05/4/3(日) 11:24 質問
【23744】Re:For Next と For Each文の関係 Hirofumi 05/4/3(日) 9:35 回答
【23748】Re:For Next と For Each文の関係 okb 05/4/3(日) 10:39 質問
【23749】Re:For Next と For Each文の関係 Hirofumi 05/4/3(日) 11:00 質問
【23753】Re:For Next と For Each文の関係 okb 05/4/3(日) 11:58 質問
【23754】Re:For Next と For Each文の関係 ウッシ 05/4/3(日) 12:03 質問
【23755】Re:For Next と For Each文の関係 okb 05/4/3(日) 12:20 発言
【23756】Re:For Next と For Each文の関係 Hirofumi 05/4/3(日) 12:46 回答
【23758】Re:For Next と For Each文の関係 okb 05/4/3(日) 13:12 発言
【23759】Re:For Next と For Each文の関係 Hirofumi 05/4/3(日) 13:39 回答
【23760】Re:For Next と For Each文の関係 okb 05/4/3(日) 13:57 お礼
【23761】Re:For Next と For Each文の関係 Hirofumi 05/4/3(日) 14:55 回答
【23757】Re:For Next と For Each文の関係 okb 05/4/3(日) 12:47 発言

57741 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free