
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
M$の説明にもAreaは「連続した領域」になっているので、間違っているとは言いにくいのですが・・・
https://docs.microsoft.com/ja-jp/office/vba/api/ …
残念ながら、日本語としては正しい説明文にはなっていないようです。
実際には「連続する領域」ではなく「矩形の領域」として処理されています。
(単純に言えば、選択操作の際の領域をそのまま記憶しているだけと言えます)
実験してみればわかりますけれど、添付図では図の各枠内の範囲を全て選択して以下を実行してみたものです。(図ではそれぞれの選択範囲の枠を赤、青、緑の罫線で囲ってあります)
最終的には全体が「連続した領域」にはなっていますが、Area数は3となります。(選択の仕方によっては、Area数はもっと増えます)
選択されたセル数は、実際には20ですが、単純にVBAでカウントしようとすると30と答えます。
Sub Test()
Debug.Print Selection.Areas.Count '→ 3
Debug.Print Selection.Cells.Count ' → 30
For Each c In Selection
c.Value = c.Value + 1
Next c
End Sub
「For Each」ではEachと言いながらも、セルに対してダブって実行されていることがわかると思います。
※ 重複が出ないように分割して選択してあげれば、上記のようにはなりませんけれど、その場合はArea数は多くなります。(最低で5かな?)

No.2
- 回答日時:
単純にいえば、訳して「選択している領域の個数」ですが。
例えば、3行×4列の12個のセルを選択しt倍意を考えます。
Selection.Countはセルの個数なので12。
Selection.Rows.Countは行の個数なので3。
Selection.Columns.Countは列の個数なので4。
Selection.Areas.Count は領域 (隣接しているセルのブロック)の個数なので1。
Selection.Areas.Count が2になるケースは、領域 (隣接しているセルのブロック)が2であるということですから、例えば、A1とC3のように隣接していないセルを選択している場合です。
この回答へのお礼
お礼日時:2021/08/28 04:47
A1とA3も 2になるケースなのでしょうか?後、3になるケースは、A1とA3とA5なんかもそうなのでしょうか?Selection.Areas.Countの事です。教えていただけると幸いです。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
このカテゴリの人気Q&Aランキング
-
4
EXCELで式からグラフを描くには?
-
5
エクセル近似曲線(範囲指定)
-
6
エクセルで、変な矢印がでて、...
-
7
Excelマクロ 同列内で複数の数式を...
-
8
excel マクロでグループ内でソ...
-
9
スラッシュ記号(/)を入力できな...
-
10
エクセルのマクロで複数条件に...
-
11
エクセル:シート名を手入力で...
-
12
エクセルのセル内の余白の設定...
-
13
Excelで罫線を引いていな...
-
14
エクセルである行以下全部を削...
-
15
エクセル: セルの枠を超えて表示
-
16
エクセルウィンドウのサイズ変...
-
17
Excelで隣のセルと同じ内容に列...
-
18
A1セルに入力したら、入力時間...
-
19
Excel PHONETIC関数で振り仮名...
-
20
Excelのセルにカレンダーを挿入...
おすすめ情報
公式facebook
公式twitter