【EXCEL VBA】VBAでセルを操作する。

VBA
スポンサーリンク

セルの操作とは

下記の画像にある操作をまとめてセルの操作といいます。

クリップボード

貼り付け

cells(1,1).select 'セルの指定
ActiveSheet.Paste '貼り付け

クリップボードに保存しているデータを貼り付けします。
セルをコピーすると罫線やセルの設定をそのまま貼り付けてしまうので、注意が必要です。

切り取り、コピー

cells(2,2).Select 'セルの指定
Selection.Cut '切り取り
selection.Copy 'コピー

選択しているセルの値をクリップボードに保存します。
セルの罫線や、セルの設定もコピーしますので、貼り付けの際は気を付けてください。

コピー&ペースト

上記のようなコピーしてからペーストするという流れでプログラムのコードが多くなってしまい、読みづらくなってしまうのと、ミスが多くなってしまします。

VBAでは以下の転記方法(コピー&ペースト)が貼り付け機能としては一般的です。

cells(1,1) = cells(2,2) 'B2セル(コピー)をA1セル(貼り付け)に代入

フォント

書体の指定

cells(1,1).Font.Name = "MS 明朝" 'A1セルの書体を「MS 明朝」に設定

フォントサイズの指定

cells(1,1).Font.Size = 20 'A1セルのフォントサイズを20に設定

文字装飾

cells(1,1).Font.Bold = True 'A1セルの太字設定をONに設定
cells(1,1).Font.Italic = True 'A1セルの斜体設定をONに設定
cells(1,1).Font.Underline = xlUnderlineStyleSingle '文字の下線をシングルに設定(二重下線の場合はxlUnderlineStyleDouble)
cells(1,1).Font.Color = -16776961 'A1セルの文字の色を赤色に設定

文字装飾は【.Font】の中のプロパティを設定することによって変更できます。

細部の設定については別のサイトで調べていただければいいかなと思います。
調べ方は【 vba .Font.Underline】等と調べれば詳しい情報が出てくると思います。

書体、フォントサイズ、文字装飾をまとめて設定する方法

こちらの方が記述が少なくて済むのと同時に見た目もきれいで、一般的かなと思います。
with文を使いますが、with文はまた別の記事で書きたいと思います。

    With Cells(2, 2).Font 'B2セルに対して
        .Name = "MS 明朝" '書体はMS明朝に
        .Size = 14 '文字サイズは14に
        .Underline = xlUnderlineStyleDouble '二重下線に
        .Color = -16776961 '文字色は赤に
    End With

セルの罫線

セルの罫線はややこしいため、シンプルにしたパターンを説明します。

まず、すべての線を実線で引きます。

Range("B2:D4").Borders.LineStyle = xlContinuous

次に、外枠の線を太い実線で引きます

Range("B2:D4").BorderAround LineStyle:=xlContinuous, Weight:=xlMedium

少し難しいですが、【:=】この前後の部分は引数と呼ばれます。

背景色の変更

背景色を変更するには【Interior】オブジェクトの【Color】プロパティを設定します。

Cells(5, 5).Interior.Color = 255 '背景色を赤色に設定

フリガナ

フリガナを付ける場合は【Phonetics】オブジェクトのVisibleをTrueに設定します。

Cells(5, 5).Phonetics.Visible = True 'フリガナをつける

配置

文字の配置

Cells(2, 2).HorizontalAlignment = xlLeft '文字の横位置を左寄せに
Cells(2, 2).VerticalAlignment = xlCenter '文字の縦位置を中央に

セルの結合

セルの結合をする場合は結合したい範囲に【Merge】を指定します。解除は【UnMerge】を指定します。

Range("A1:C3").Merge 'セルの結合
Range("A1:C3").UnMerge 'セルの結合解除

数値

表示形式

表示形式を指定する方法は【NumberFormatLocal】プロパティを指定します。

Cells(2, 2).NumberFormatLocal = "yyyy/m/d" '表示形式を日付に
Cells(2, 2).NumberFormatLocal = "@" '表示形式を文字列に
Cells(2, 2).NumberFormatLocal = "[$-x-systime]h:mm:ss AM/PM" '表示形式を時刻に

セル

セルの挿入・削除

cells(2,2).Insert Shift:=xlDown 'セルの挿入(下方向にシフト)
cells(2,2).Delete Shift:=xlUp 'セルの削除(上方向にシフト)

セル幅の調整

cells(2,2).EntireColumn.AutoFit 'セルの幅を自動調整
cells(2,2).EntireRow.AutoFit 'セルの高さを自動調整
cells(2,2).RowHeight = 30 'セルの高さを30に指定
cells(2,2).ColumnWidth = 10 'セルの幅を10に指定

サクッと操作したい内容を確認できる記事として活用してもらえたら幸いです。

コメント

タイトルとURLをコピーしました