• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル vbaのなぜこうなるのか?)

Excel VBAの使い方に疑問がある!一行選択と複数行・列選択の違いは?

このQ&Aのポイント
  • Excel VBAにおいて、一行選択する場合は引数を囲まずに指定しますが、複数行選択する場合は引数を引用符で囲む必要があります。なぜこのような違いがあるのか疑問です。
  • また、複数列を選択する場合、columns("2:5").selectでは実行時エラーとなります。なぜcolumns関数では複数列を選択できないのでしょうか?
  • Excel VBAの使い方について、一行選択と複数行・列選択の違いについて疑問があります。一行選択する場合は引数の囲み方が異なる点について、また複数列を選択する際にcolumns関数が使えない理由についてご教示ください。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1416)
回答No.1

Rows、Columnsは複数形なのでコレクションと言う 集合です。特定の範囲を示すにはインデックスか 名前で一意にしなければいけません。 つまり、数値でも文字列でも指定可能です。 要するにExcelが解釈できるものなら何でもよい ということです。 A1型では3行目のB列はRange("B3")と表わす ように行は数字、列は英字であることが必要です。 よって、Rows(2)はRows("2")と書くことが可能だし、 Columns(2)はColumns("B")とも書けます。よって、 Columns("2:5")はColumn("B:E")が正しいのです。 整数(インデックス="なし)はいずれも使用可能です。 コレクション名が違うので、Columns("2:5")でもよいと 私個人は思うのですが、MSの設計技術者が決めた ルールですので、「こういうものか」と納得するしか ありませんね。

sukeroku111
質問者

お礼

おはようございます。早速のご回答ありがとうございます。 非常に興味がある回答で勉強になりました。 またColumns("2:5")についても、設計上に理由という事でスッキリしました。 ありがとうございました。

関連するQ&A