C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■97146 / 2階層)  【ExcelVBA】For〜Nextの入れ子について
□投稿者/ 魔界の仮面弁士 (3043回)-(2021/04/06(Tue) 17:35:07)
2021/04/07(Wed) 10:02:06 編集(投稿者)

No97145 (魔界の仮面弁士) に追記
>> For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
> これは、「A列(1列目)の最後の行」までのループとなります。

もしも A列 のみを前提としたコードであったとしても、
上記のように End プロパティを用いる方法は、あまりお奨めしません。
「最終行にデータがあった場合」に対応できないためです。

たとえば、A 列すべてにデータが記述されていた場合、
「Cells(Rows.Count, 1).End(xlUp).Row」は 1 を返すことになります。


ただし End プロパティによる領域終端への参照操作時には、
非表示列・非表示行は存在しないものとして扱われます。

一方、UsedRange ではセルの可視状態は無視されますし、
「書式設定された空欄セルも含まれる」という違いがあります。



> For c = minCol To maxCol
>  For r = minRow To maxRow

別案。

Dim rCol As Excel.Range, rRow As Excel.Range
For Each rCol In ActiveSheet.UsedRange.Columns
 For Each rRow In ActiveSheet.UsedRange.Rows
  Debug.Print rRow.Row, rCol.Column
 Next
Next
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: 【ExcelVBA】For〜Nextの入れ子について /魔界の仮面弁士 →Re[3]: 【ExcelVBA】For〜Nextの入れ子について /工場プログラマー
 
上記関連ツリー

【ExcelVBA】For〜Nextの入れ子について / 工場プログラマー (21/04/06(Tue) 16:35) #97144
Re[1]: 【ExcelVBA】For〜Nextの入れ子について / 魔界の仮面弁士 (21/04/06(Tue) 17:30) #97145
  └ 【ExcelVBA】For〜Nextの入れ子について / 魔界の仮面弁士 (21/04/06(Tue) 17:35) #97146 ←Now
    └ Re[3]: 【ExcelVBA】For〜Nextの入れ子について / 工場プログラマー (21/04/09(Fri) 15:03) #97172 解決済み
      └ Re[4]: 【ExcelVBA】For〜Nextの入れ子について / kiku (21/04/09(Fri) 17:03) #97173 解決済み
        └ Re[5]: 【ExcelVBA】For〜Nextの入れ子について / 工場プログラマー (21/04/15(Thu) 09:13) #97208 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信