【VBA】セルを選択する方法/表示形式・フォント・罫線等を設定
<機能>
(1)セルを選択するいろいろな方法を実行してみます
全てのセルの選択
指定の行または列の選択
指定の範囲の選択
複数範囲の選択
(2)シートの初期化などでよく使用するセルの設定を実行してみます
列幅、行の高さを指定
罫線を引く
セルの表示形式を設定
フォント種類とサイズを設定
背景色とフォント色を設定
<使い方>
適当なところにソースを張り付けてください
セルを選択する()を呼び出すと2秒毎にいろいろな方法でセルを選択します
セルの設定を行う()を呼び出すとセルの設定を順次行います
<イメージ>
セルを選択する()実行イメージ
セルの設定を行う()実行イメージ
'//グローバル変数
Public gyo As Integer
'********************************************
' セルを選択する色々な方法
'(1)〜(3)全てのセルを選択する方法
'(4)〜(5)行を指定して選択する方法
'(6)列を指定して選択する方法
'(7)〜(9)範囲を指定して選択する
'********************************************
Sub セルを選択する()
'//全て(数式、文字列、書式、コメント、アウトライン)クリア
Cells.Select
Selection.Clear
Selection.ColumnWidth = 10
Selection.RowHeight = 19
Selection.Font.Name = "MS ゴシック"
Selection.Font.Size = 12
Range("A1").Select
'グローバル変数に初期値をセット
gyo = 1
'//全てのセルを選択する方法
'(1)Cellsで選択
TextOut "(1)Cellsで全てのセルを選択します Cells.Select", 1
Cells.Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'(2)Rowsで選択
TextOut "(2)Rowsで全てのセルを選択します Rows.Select", 1
Rows.Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'(3)Columnsで選択
TextOut "(3)Columnsで全てのセルを選択します Columns.Select", 1
Columns.Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'//行を指定して選択する方法
'(4)Rowsで選択
TextOut "(4)Rowsで行を指定してセルを選択します Rows(""2:15"").Select", 1
Rows("2:15").Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'(5)Rangeで選択
TextOut "(5)Rangeで行を指定してセルを選択します Range(""2:15"").Select", 1
Range("2:15").Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'//列を指定して選択する方法
'(6)Columnsで選択
TextOut "(6)Columnsで列を指定してセルを選択します Columns(""B:K"").Select", 1
Columns("B:K").Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'//範囲を指定して選択する
'(7)Rangeで範囲を指定して選択
TextOut "(7)Rangeで範囲を指定してセルを選択します Range(""B2:K15"").Select", 1
Range("B2:K15").Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'(8)Range(Cells,Cells)で範囲を指定してセルを選択
TextOut "(8)Rangeで範囲を指定してセルを選択します Range(Cells(2, 2), Cells(15, 11)).Select", 1
Range(Cells(2, 2), Cells(15, 11)).Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'(9)Rangeで複数の範囲を指定して選択
TextOut "(9)Rangeで複数の範囲を指定してセルを選択します Range(""B2:C4, D5:F8, G9:J13"").Select", 1
Range("B2:C4, D5:F8, G9:J13").Select
Application.Wait Now + TimeValue("0:00:02")
Range("A1").Select
TextOut "選択を解除しました", 2
'(10)選択されている行数、列数を取得
TextOut "(10)選択されている行数、列数を取得します", 1
Range("K2:M15").Select
TextOut "選択セル数=" & Selection.Count, 2
TextOut "選択行数=" & Selection.Rows.Count, 2
TextOut "選択列数=" & Selection.Columns.Count, 2
Range("A1").Select
TextOut "選択を解除しました", 2
End Sub
'********************************************
' セルにいろいろな設定を行う
'(1)列幅を指定
'(2)行の高さを指定
'(3)罫線を引く
'(4)セルに表示形式を設定
'(5)セルにフォント種類とフォントサイズを設定
'(6)セルに背景色とフォント色を設定
'********************************************
Sub セルの設定を行う()
'//全て(数式、文字列、書式、コメント、アウトライン)クリア
Cells.Select
Selection.Clear
Selection.ColumnWidth = 10
Selection.RowHeight = 19
Selection.Font.Name = "MS ゴシック"
Selection.Font.Size = 12
Range("A1").Select
'グローバル変数に初期値をセット
gyo = 1
'(1)列幅を指定
TextOut "(1)列幅を指定します K列=5 L列=10 M:N列=15", 1
Columns("K").ColumnWidth = 5
Columns("L").ColumnWidth = 10
Columns("M:N").ColumnWidth = 15
'(2)行の高さを指定
TextOut "(2)行の高さを指定します 2:11行=25", 1
Range("2:10").RowHeight = 25
'(3)罫線を引く
TextOut "(3)罫線をセットします", 1
With Range("K2:N11").Borders
.LineStyle = xlLineStyleNone
TextOut "LineStyle=xlLineStyleNone(線なし)", 2
'罫線の太さを指定(細い方からxlHairline,xlThin,xlMedium,xlThick)
.Weight = xlThick
'罫線の色を指定(赤っぽい色を指定)
.Color = RGB(150, 54, 52)
'罫線の種類を変更してみる
.LineStyle = xlDash
TextOut "LineStyle=xlDash(破線)", 2
.LineStyle = xlDashDot
TextOut "LineStyle=xlDashDot(一点鎖線)", 2
.LineStyle = xlDashDotDot
TextOut "LineStyle=xlDashDotDot(二点鎖線)", 2
.LineStyle = xlDot
TextOut "LineStyle=xlDot(点線)", 2
.LineStyle = xlDouble
TextOut "LineStyle=xlDouble(二重線)", 2
.LineStyle = xlSlantDashDot
TextOut "LineStyle=xlSlantDashDot(斜め一点鎖線)", 2
.LineStyle = xlContinuous
TextOut "LineStyle=xlContinuous(実線)", 2
End With
'(4)セルに表示形式を設定
TextOut "(1)セルに表示形式を設定します", 1
'K列に「数値(0_ )」をセット
Range("K2:K11").NumberFormatLocal = "0_ "
TextOut "K列に「数値」を設定NumberFormatLocal = ""0_ """, 2
'L列に「標準(G/標準)」をセット
Range("L2:L11").NumberFormatLocal = "G/標準"
TextOut "L列に「標準」を設定NumberFormatLocal = ""G/標準""", 2
'M列に「3桁区切り少数1桁(#,###.0)」をセット
Range("M2:M11").NumberFormatLocal = "#,###.0"
TextOut "M列に「3桁区切り少数1桁」を設定NumberFormatLocal = ""#,###.0""", 2
'N列に「文字(@)」をセット
Range("N2:N11").NumberFormatLocal = "@"
TextOut "N列に「文字」を設定NumberFormatLocal = ""@""", 2
Cells(2, 11) = 123
Cells(2, 12) = "= 16 * 16 * 16 * 16"
Cells(2, 13) = 987654.321
Cells(2, 14) = "000123"
'(5)セルにフォント種類とフォントサイズを設定
TextOut "(5)セルにフォント種類とフォントサイズをセットします", 1
With Range("K2:N11")
'HG丸ゴシックM-PRO 16pt
.Font.Name = "HG丸ゴシックM-PRO"
.Font.Size = 16
TextOut "HG丸ゴシックM-PRO 16pt", 2
'MS 明朝 10pt
.Font.Name = "MS ゴシック"
.Font.Size = 10
TextOut "MS 明朝 10pt", 2
End With
'(6)セルに背景色とフォント色を設定
TextOut "(6)セルに背景色とフォント色をセットします", 1
With Range("K2:N11")
'ColorIndexで指定
.Interior.ColorIndex = 35
.Font.ColorIndex = 45
TextOut "ColorIndexで指定 Interior.ColorIndex=5 Font.ColorIndex=10", 2
'16進数(BGR)で指定
.Interior.Color = &H543000
.Font.Color = &H2CFFFF
TextOut "16進数(BGR)で指定 Interior.Color=&H543000 Font.Color=&H2CFFFF", 2
'RGBで指定
.Interior.Color = RGB(247, 151, 242)
.Font.Color = RGB(45, 45, 255)
TextOut "RGBで指定 Interior.Color=RGB(247, 151, 242) Font.Color=RGB(45, 45, 255)", 2
End With
End Sub
'********************************************
' テキストを表示して1秒待つプロシージャ
'********************************************
Sub TextOut(ByVal strtxt As String, ByVal clm As Integer)
Cells(gyo, clm) = strtxt
gyo = gyo + 1
'テキストを見せるために少し待つ
Application.Wait Now + TimeValue("0:00:01")
End Sub
よろしければポチッと押してください