記事キャッチ画像  (19) 「セル」・「行」・「列」を VBA で扱う方法の復習! 

 1. 複数セルを対象にして、値の設定や書式の設定が可能 

 2. VBAで一番重要な「セル操作」の復習 

  「広告」  
 

 (19) 「セル」・「行」・「列」を VBA で扱う方法の復習! 

Excel メニューバーの [ヘルプ] - [更新プログラムのチェック] にて、適用されていないアップデートがあれば行ってください。 

Excel 2016 for Mac 環境での説明となりますので、 Mac版 Excel 2011 では( VBA が利用できますが )同じ結果にならない場合があるかもしれません。

現状、 VBE 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)

( ユーザー定義関数 のVBAコードを含んだ)前回使用した XLSM ファイルを、「マクロを有効」にして開きます。

[ alt ] + [ F11 ] にて VBE を開き、Module1 の最後に以下の VBAコードを入力するかコピーして貼り付け。

 1. 複数セルを対象にして、値の設定や書式の設定が可能 

With Range("A12:H13")
    .Value = "Test"
    .HorizontalAlignment = xlCenter
    .Font.Color = RGB(0, 0, 0)    ' vbBlack
    .Font.Bold = False
    .Font.Italic = False
End With

上記のように、複数セルを対象にして、値の設定や書式(プロパティ)の一括設定が可能!
指定した「A12」から「H13」(2行分)のセル全てに、(指定書式で)一気に "Test" が入力されます。
VBA に慣れれば、大量のコピー&ペーストより(初期値や書式の変更時等)融通が効きますね。


 2. VBAで一番重要な「セル操作」の復習 


Sub TestCells()

    Dim aRange As Range
    Dim row As Integer
    Dim col As Integer

    With Range("A12:H13")
        .Value = "Test"
        .HorizontalAlignment = xlCenter
        .Font.Color = RGB(0, 0, 0)    ' vbBlack
        .Font.Bold = False
        .Font.Italic = False
    End With

   ' col A ~ H
    row = Range("A12").row    ' row = 12
    For col = Range("A12").Column To Range("H12").Column
        With Cells(row, col).Font
            .Color = vbCyan
            .Bold = True
        End With
    Next col

    Range("A12:H12").Offset(1, 0).Select
    For Each aRange In Selection
        With aRange.Font
            .Color = vbMagenta
            .Italic = True
        End With
    Next aRange

End Sub

53
実行は、イミディエイトウィンドウから「 call TestCells() 」([return] 必要)にて!

39

色の設定は、RGB() 関数ColorIndexVB定数 の3つの方法があります。
【 VB(色)定数 】
vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagenta マゼンタ(紫)
vbCyan シアン(水色)
vbWhite

Rangeオブジェクトの Row 、Column プロパティを利用すれば、Cells プロパティで操作しやすい「行」または「列」の index (整数)が返されます。

Range("A12:H12").Offset(1, 0).Select の意味は、Range("A12:H12") を1行分オフセット(相対移動)するため、Range("A13:H13") がマウス選択されます。

With ステートメント、For 〜 Next 繰り返し処理、For Each 繰り返し処理も使いこなせるようにしましょう。
Font.Bold や Font.Italic は True / False のどちらかを設定します。


次は、 「セル」未入力判定を厳密に行う方法を説明します。


お疲れ様でした!
[command] + [Q] にてExcel を終了時、「作業中のブック」を保存するか確認のダイアログ画面が表示されるため 「保存」しましょう。
現状、 VBE 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)

  「広告」  
  

最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル
 

  「広告」