Excelじゆうちょう

Excelのお絵描きツール『りっぷ2(りっぷつぅ)』のサポートページ、まずは「はじめに」をご覧ください。 [NewEntry] [Admin]

記事更新カレンダー

06 « 2018-07 « 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

やたらに多いカテゴリ

比較的新しい記事

新しいコメント

ありがたいブログ拍手

拍手コメント一覧(拍手はしない)

さみしいトラックバック

申し訳ないプロフィール

申し訳ない

管理人  [ 申し訳ない ]

pxivもやってます
リンクの一番上からのぞきに来てください
※閲覧にはユーザー登録が必要です

RSSってなんぞ?

広告は消せないらしい

FC2Ad

        --------       スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

        2011-06-06       複数の選択範囲を個別操作

久しぶりにExcelのお話。
またひとつカテゴリを増やしてみたいと思います。

セルの選択範囲(Selectionプロパティ)を操作するうえで知っておきたいテクニック。
全3回予定、よろしくお願いいたします。



こんなふうに複数のセル範囲を選択して、例えば塗りつぶしをすることができます。

↓カラーインデックス3は赤↓
Areasプロパティなし


'【コードウインドウ】
Public Sub paintColorIndex()
Selection.Interior.ColorIndex = 3 'デフォルトで3は赤
End Sub


じゃあ、セルの選択範囲はそのままでこんなのはどうでしょう?


'【コードウインドウ】
Public Sub printColorIndex()
MsgBox Selection.Row & " 行から " & Selection.Rows.Count & " 行まで"
End Sub


↓この行範囲↓
Areasプロパティなし(行番号)

ん、ちょっと値が違う?
いいえ、これは第1選択範囲の値で正しいものです。
それでは、第2選択範囲以降の値を得るにはどうすればいいのでしょうか。
…ということをずっと悩んでいて、最近ようやく方法を知りました。(完全に勉強不足だとかは触れないで)

Areasプロパティを使います。
上のコードに適応させてみましょう。


'【コードウインドウ】
Public Sub printAreasRow()
MsgBox "第1選択範囲から順番に" & Chr(10) _
  & Selection.Areas(1).Row & " 行目から " & Selection.Areas(1).Rows.Count & " 行分" & Chr(10) _
  & Selection.Areas(2).Row & " 行目から " & Selection.Areas(2).Rows.Count & " 行分" & Chr(10) _
  & Selection.Areas(3).Row & " 行目から " & Selection.Areas(3).Rows.Count & " 行分" & Chr(10) _
  & Selection.Areas(4).Row & " 行目から " & Selection.Areas(4).Rows.Count & " 行分"
End Sub


↓これらの行範囲↓
Areasプロパティあり(行番号)

選択範囲はよっつだけですから、Selection.Areas(5)とすればエラーになってしまいます。
もちろん、Selection.Areas(0)もいけません。
このAreasプロパティを使えば、複数の選択範囲を別々の色に塗りつぶすことも可能です。


'【コードウインドウ】
Public Sub testAreas()
Dim For_cnt As Long 'カウンタ
For For_cnt = 1 To Selection.Areas.Count '1~選択範囲の数だけ繰り返し
  Selection.Areas(For_cnt) = For_cnt '各選択範囲に番号を入力
  Selection.Areas(For_cnt).Interior.ColorIndex = For_cnt '選択範囲の番号の色で塗りつぶし
Next For_cnt
End Sub


↓1は黒、2は白、3は赤、4は緑↓
Areasプロパティあり

Selection.Areas.Countで選択範囲の数を調べることができます。
これをForループの終わりに指定しておけば、先のAreas(5)のようなエラーを回避できます。

色分けするとわかりやすいですね、左上、右下、中央、右上の順で選択していました。
色がくすんでいるのは選択されているからです、アクティブセルのセル(2,5)だけ鮮やかです。

さて、この次以降も今回使ったセルの選択範囲を例にして進めます。
覚えといてもらったら嬉しいな。
スポンサーサイト

コメント

コメントの投稿

管理者にだけ表示を許可  

トラックバック

http://likep.blog63.fc2.com/tb.php/219-e15232b8

 | HOME | 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。