今回は「Cell」と「Range」を操作してみようと思います。
その前にSelectとActivateの違いをみてもらいます。
まず選択(Select)します。
イディエイトに下のコードをコピペしてEnterを押します。
Range("A1:D5").Select
↑こうなります。この状態でActivateしているのはセルA1です。
(多分わからないと思いますが次で「おお!!」と思うはずです。) 次に
Range("C3").Activate
をコピペしてEnterを押してください。
わかりました?(わからない方はこちら(質問掲示板)まで・・)
といってもこれ以上説明のしようがないんですが・・
Selectは選択。
Activateは選択範囲のなかの1つのセルをアクティブにします。 この状態で、Range("C3").Selectにしたらどうなるのでしょうか?
やってみましょう・・
ありゃりゃ・・
単一のセルC3が選択されてしまいました。
でも、これが、SelectとActivateの違いです。
雰囲気だけでも覚えておいてください。
それでは実際にセルを操作してみましょう。
セルに色をつける。
自動記録しすると・・・
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2001/4/20 ユーザー名 : れいぞー
'
'
Range("A3").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub |
こうなります。
1行目から説明すると・・
1行目
:エクセルが勝手につけたマクロ名です。
2行目から6行目:先頭に '
が付くとコメントとして扱われます。実際には処理されません。
7行目
:セルA3を選択
8行目
:選択(Select)されている「Interiorプロパティー(塗りつぶし属性)」に対して
9行目
:「ColorIndexプロパティー」の値を下に示すカラー
パレットのカラー
インデックス番号の3(赤)にする。
10行目
:模様です。「Pattern プロパティー」を「xlSolid」にする。
11行目
:模様の色です。「PatternColorIndexプロパティー」を
「xlAutomatic」にする。
12行目
:『With』
と 『End With』については後述します。
13行目
:マクロ終了。
カラーパレット |
ぶっちゃけたはなし単に色をつけるだけならこれ1行だけですんじゃうんですが・・
Range("A3").Interior.ColorIndex = 3
自動記録マクロのシェイプアップは今後頻繁に取り上げていきます。 |
With
End Withについて・・・
With End Withは便利なステートメントです。
HELPには『一連のステートメントを実行するフロー制御ステートメントです。』
とありますが、これじゃーなんのこっちゃわからないので例をあげて説明します。
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End WithはWithなしで書くと↓のようになります。
Selection.Interior.ColorIndex = 3
Selection.Interior.Pattern = xlSolid
Selection.Interior.PatternColorIndex = xlAutomatic
しかし『With End With』を使用すると
いちいち『Selection.Interior』を書かなくてもいいんです。
このような短いコードならあまり気にならないのですが
罫線の設定とかページ設定とか(自動記録してみてください。)になると
すごいことになってしまいます。
『With End With』・・
ありがたいですね〜。便利ですね〜 |
ColorIndexプロパティー
Border(輪郭線)、Font(フォント)、Borders(罫線)、Interior(内部)の塗りつぶしなどに適用する色を設定します。 |
PatternプロパティーPatternColorIndexプロパティー
Patternプロパティーの値は、20個くらいあるのでHELPを参照してください。
一言で言っちゃうと斜線・縦線などの模様です。
PatternColorIndexプロパティーは模様の色です |
今回はとりあえず、色を設定してみました。
前置きが長くなってしまったのでこれだけなんですが
次回はセルをいろいろいじくって見ましょう
|