
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" が入力されます。
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

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

色の設定は、RGB() 関数、ColorIndex、VB定数 の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コード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)
「広告」
最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル
「広告」
コメント