Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Columnsは256までしか指定できない?

Columnsは256までしか指定できない?

対象:Excel

Columnsは256までしか指定できない?

「マクロ columns 256列 以降は使えない」
という検索キーワードに気づきました。

おそらく、
  Columns(257).Select
といったコードを実行して
「実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。」
というエラーが発生した方による検索でしょう。

[スポンサードリンク]

Columnsプロパティの引数には16384まで指定できる

「マクロ columns 256列 以降は使えない」
などということは勿論なく、
  Columns(16384).Select
を実行すればXFD列を選択できます。

Columnsは256までしか指定できない?

ファイル形式を確認しましょう

上記の、
  Columns(257).Select
でエラーになるケースと、
  Columns(16384).Select
でもOKなケースの違いはブックの違いです。

Excel 97-2003ブックの場合、ワークシートのサイズは65,536行×256列です。
これに対して2007以降のExcelブック形式なら、1,048,576行×16384列です。

Excel 97-2003ブックに対して
  Columns(257).Select
といったコードを実行しても、ありもしない257列目が指定されているのでエラーとなります。

最終列を選択するサンプルコード

どのファイル形式でも、最終列を必ず指定したいのなら、
  Columns(Columns.Count).Select
というコードにすればOKです。

列数を取得する「Columns.Count」というオブジェクト式を、Columnsプロパティの引数に指定すれば、最終列を表すRangeオブジェクトを取得できます。

関連語句
VBA, Visual Basic for Applications

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Columnsは256までしか指定できない?

「行・列を表すRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.