重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんばんは。
単純な事かもしれませんが、ちょっと疑問に思ったので質問させていただきました(Excel2000使用)。

・一つ目
2行目を選択する場合 ⇒ rows(2).select
2行目から5行目までを選択する場合 ⇒ rows("2:5").select

☆☆質問☆☆
一つの行を選択する場合は引数を("")で囲わないのに、複数行では引数を""で囲わないといけないのか?


・2つ目
2行目から5行目までを選択する場合 ⇒ rows("2:5").select
2列目から5列目を選択する場合 ⇒ range(columns(2),columns(5)).select

☆☆質問☆☆
なぜ複数列を選択する場合、columns("2:5").selectでは実行時エラーとなるのか?

素人にも理解できるような回答をお願いいたします。

A 回答 (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の設計技術者が決めた
ルールですので、「こういうものか」と納得するしか
ありませんね。
    • good
    • 0
この回答へのお礼

おはようございます。早速のご回答ありがとうございます。

非常に興味がある回答で勉強になりました。

またColumns("2:5")についても、設計上に理由という事でスッキリしました。

ありがとうございました。

お礼日時:2012/03/31 06:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!