[ HOME ] [ BACK ] [ NEXT ]

犬でもわかるExcelVBA講座

§7 セルを操作する。

今回は「Cell」と「Range」を操作してみようと思います。
その前にSelectActivateの違いをみてもらいます。
まず選択(Select)します。
イディエイトに下のコードをコピペしてEnterを押します。
Range("A1:D5").Select

↑こうなります。この状態でActivateしているのはセルA1です。
(多分わからないと思いますが次で「おお!!」と思うはずです。)

次に
Range("C3").Activate
をコピペしてEnterを押してください。

わかりました?(わからない方は
こちら(質問掲示板)まで・・)
といってもこれ以上説明のしようがないんですが・・
Selectは選択。
Activateは選択範囲のなかの1つのセルをアクティブにします。

この状態で、Range("C3").Selectにしたらどうなるのでしょうか?
やってみましょう・・

ありゃりゃ・・
単一のセルC3が選択されてしまいました。
でも、
これが、SelectActivateの違いです。
雰囲気だけでも覚えておいてください。

それでは実際にセルを操作してみましょう。

 セルに色をつける。
   
自動記録しすると・・・
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プロパティーは模様の色です

今回はとりあえず、色を設定してみました。
前置きが長くなってしまったのでこれだけなんですが

次回は
セルをいろいろいじくって見ましょう


■このページはリンクフリーです。どんどんはってください。特に連絡する必要もありません。
■ご連絡いただければ、こちらからもリンクします。出来れば下のバナーを使ってください。
■ご意見・ご要望はこちらからお願いします。