• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel vba データの有る最後の列)

Excel VBAでデータの入っている最後の列を取得する方法

このQ&Aのポイント
  • Excel VBAを使用して、データの入っている最後の列を取得する方法を知りたいです。現在はA1の形式で対応できていますが、変数で範囲を指定したい場合にエラーが発生します。
  • A1形式以外の変数で範囲を指定して、データの入っている最後の列を取得するExcel VBAの方法を教えてください。エラーが発生してしまうため、より効率的な方法を知りたいです。
  • Excel VBAでデータの入っている最後の列を知るために、A1形式以外の変数で範囲を指定する方法を教えてください。現在の方法ではエラーが発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

Rangeは引数に文字列でセル座標を指定しますので、 lastcolumn = ActiveSheet.Range(Cells(I, J).Address).End(xlToRight).Column このようにすれば動作することはできますが・・・・ 普通は、次のようにcellsを使用する場合は使用します。 lastcolumn = ActiveSheet.Cells(I, J).End(xlToRight).Column また、 xlToRightは選択セルから右側へ連続する端部を調べますので 間に空白があると、そこで停止します。 最終を調べる場合は右端部の列(Excel2007以上では16384列)から 左側(xlToLeft)に初めに値が出てくるセルを調べる方法がよいかと思います。 I = 3 '行番号を指定 lastcolumn = ActiveSheet.Cells(I, Columns.Count).End(xlToLeft).Column Columns.Countは、そのエクセルが取り扱える最大列数の値を参照できます。 (ちなみに、行数の場合はRows.Count)

その他の回答 (1)

回答No.2

最終行もしくは列を取得する方法 これうまくつかったらどうですか? http://www.vba-ie.net/collection/maxrc.html

参考URL:
http://www.vba-ie.net/collection/maxrc.html

関連するQ&A