- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル vbaのなぜこうなるのか?)
Excel VBAの使い方に疑問がある!一行選択と複数行・列選択の違いは?
このQ&Aのポイント
- Excel VBAにおいて、一行選択する場合は引数を囲まずに指定しますが、複数行選択する場合は引数を引用符で囲む必要があります。なぜこのような違いがあるのか疑問です。
- また、複数列を選択する場合、columns("2:5").selectでは実行時エラーとなります。なぜcolumns関数では複数列を選択できないのでしょうか?
- Excel VBAの使い方について、一行選択と複数行・列選択の違いについて疑問があります。一行選択する場合は引数の囲み方が異なる点について、また複数列を選択する際にcolumns関数が使えない理由についてご教示ください。
- みんなの回答 (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の設計技術者が決めた ルールですので、「こういうものか」と納得するしか ありませんね。
お礼
おはようございます。早速のご回答ありがとうございます。 非常に興味がある回答で勉強になりました。 またColumns("2:5")についても、設計上に理由という事でスッキリしました。 ありがとうございました。