[ HOME ] [ BACK ] [ NEXT ]

犬でもわかるExcelVBA講座

§8 セルを操作する。その2

今年の夏はめちゃめちゃ暑いですね。
犬のお散歩は、日が落ちてアスファルトが冷えてからいきましょう。
(肉球がやけどしちゃいますからね。)

ところで、久々の更新です・・
夏は職業柄忙しいもので・・すいません。

今回は、セルをいろいろ操作して見ます。

まず、セルA1に何か文字を入力しておいてください。

文字の色を変更する。
   
自動記録しすると・・・
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2001/6/18 ユーザー名 : れいぞー
'

'
   Range("A1").Select
   With Selection.Font
      .Name = "MS Pゴシック"
      .FontStyle = "標準"
      .Size = 11
      .Strikethrough = False
      .Superscript = False
      .Subscript = False
      .OutlineFont = False
      .Shadow = False
      .Underline = xlUnderlineStyleNone
      .ColorIndex = 3
  End With
End Sub

こうなります。

7行目                   :セルA1を選択
8行目                   :選択(Select)されている「Fontオブジェクト」に対して
9行目               
:フォントの名前(Name)です。「MS Pゴシック」にする。
10行目               
:フォントのスタイル(FontStyle)です。今回の例では標準に設定しています。
11行目                :フォントのサイズ(Size)です。11ポイントに設定。
12行目                :取り消し線(Strikethrough)です。True の場合、水平な取り消し線を付けます。
13行目                :上付き文字(Superscript)の設定。True の場合、対象となるフォントが上付き文字になります。
14行目               
:下付き文字(Subscript)の設定。True の場合、対象となるフォントは下付き文字になります。
15行目               
:OutlineFont プロパティは Windows では無効なので、無視します。
16行目                :Shadow プロパティもWindows で Font を対象にするときは、このプロパティは無効なので、無視します。
17行目                :フォントの下線(Underline)の種類をxlUnderlineStyleNoneに設定します。下の表の5種類の定数があります。
18行目               
:「ColorIndexプロパティー」の値をカラー パレットのカラー インデックス番号の3(赤)にする。
19行目                :マクロ終了。

これも、こんな、長〜くなってますが、やはりシェイプアップすると1行で済んじゃいます・・
Range("A1").Font.ColorIndex = 3

セルの書式設定で記録しているので必要ないプロパティーまで再設定されちゃうんです。
しかし、これでフォントのほとんどの設定が可能になります。

フォントの名前 のみ変更      :Range("A1").Font.Name = "MS Pゴシック"
フォントのサイズのみ変更     :Range("A1").Font.Size= 36

というように、設定しなおしたいプロパティーだけ変更すればいいのです。
その他のプロパティーも試してみてください。


セルを結合する。
   
自動記録しすると・・・
Sub Macro2()
'
' Macro2 Macro
' マクロ記録日 : 2001/6/18 ユーザー名 : れいぞー
'

'
      Range("A2:B2").Select
      With Selection
          .HorizontalAlignment = xlGeneral
          .VerticalAlignment = xlBottom
          .WrapText = False
          .Orientation = 0
          .AddIndent = False
          .ShrinkToFit = False
          .MergeCells = True
      End With
End Sub

こうなります。

7行目                   :セルA2からB2を選択
8行目                   :選択(Select)されている「Rangeオブジェクト」に対して
10行目               
:セルに入力されている内容の配置 (横位置 HorizontalAlignment) 下の表の8種類の定数があります。
11行目               
:セルに入力されている内容の配置 (縦位置 VerticalAlignment) 下の表の5種類の定数があります。
12行目                :折り返し(WrapText)の設定。True の場合、セル内の文字列を列幅で折り返します。
13行目                :セルに入力されている内容の角度(Orientation)を設定します。(-90から90の値)
14行目                :True の場合、セル内での文字列の配置が均等に設定されていると、前後に余分なスペースを挿入します。
15行目               
:True の場合、使用可能な列幅に収まるように自動的に文字列を縮小します。
16行目               
:Trueの場合、選択範囲のセルを結合します。(やりたかったのはこれだけです。)

もう、おわかりのように、自動記録は、必要ないものがたくさん記録されてしまいます。
ですから、必要なものを探して、シェイプアップしてあげればコードもすっきり見やすくなります。

セル結合の場合も1行になります。
Range("A2:B2").MergeCells = True

 

Underline
定数 意味
xlUnderlineStyleNone 下線なし
xlUnderlineStyleSingle 1本の下線
xlUnderlineStyleDouble 2本の下線
xlUnderlineStyleSingleAccounting 1本の下線でセルの幅の長さの線
xlUnderlineStyleDoubleAccounting 2本の下線でセルの幅の長さの線

HorizontalAlignment VerticalAlignment 
定数(横位置) 定数(縦位置) 意味
xlHAlignCenter xlVAlignCenter 中央揃え
xlHAlignDistributed xlVAlignDistributed 均等割り付け
xlHAlignJustify xlVAlignJustify 両端揃え
xlHAlignLeft   左詰め(インデント)
xlHAlignRight   右詰め
xlHAlignCenterAcrossSelection   選択範囲内で中央
xlHAlignFill   繰り返し
xlHAlignGeneral   標準
  xlVAlignBottom 下詰め
  xlVAlignTop 上詰め

今回は前回に引き続きセルを操作してみました。
セルをいじくっているうちにシェイプアップもやってしまいました。
大体、ほとんどの機能は、自動記録で再現できます。いろいろ試してみてください。
次回は自動記録ではできない「VBAらしい」ことをやってみたいと思います。


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

       

2001/7/21