エクセルマクロで、下線を引くVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
セルに下線を引く
以下のマクロを実行すると、セル内に下線を引きます。
Sub セルに下線を設定する()
Dim StartX As Single
Dim StartY As Single
Dim EndX As Single
Dim EndY As Single
Range("B2").Select
'線を引く位置・線の長さを決める
StartX = Selection.Left + (Selection.Width / 6 * 0.5)
StartY = Selection.Top + (Selection.Height / 6 * 5)
EndX = Selection.Offset(0, 1).Left - (Selection.Width / 6 * 0.5)
EndY = Selection.Top + (Selection.Height / 6 * 5)
'アンダーラインを引く
ActiveSheet.Shapes.AddConnector _
(msoConnectorStraight, StartX, StartY, EndX, EndY).Select
'下線を黒にする
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
End Sub
マクロ実行後
セルB2に下線を引きました。
下線と文字が重ならないように、セル内の文字をあらかじめ「上揃え」に設定してあります。
太い線を引きたい場合
下線を太くしたい場合は、
「Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)」の下に、
以下のコードを追加してください。
Selection.ShapeRange.Line.Weight = 3
セルに下線を引く(二重線)
以下のマクロを実行すると、セルに二重線の下線を引きます。
Sub セルに2重線の下線をひく()
Dim StartX As Single
Dim StartY As Single
Dim EndX As Single
Dim EndY As Single
Range("B2").Select
'線を引く位置・線の長さを決める
StartX = Selection.Left + (Selection.Width / 6 * 0.5)
StartY = Selection.Top + (Selection.Height / 6 * 5)
EndX = Selection.Offset(0, 1).Left - (Selection.Width / 6 * 0.5)
EndY = Selection.Top + (Selection.Height / 6 * 5)
'アンダーラインを引く
ActiveSheet.Shapes.AddConnector _
(msoConnectorStraight, StartX, StartY, EndX, EndY).Select
'二重線へ変更
Selection.ShapeRange.Line.Style = msoLineThinThin
'線を黒にする
With Selection.ShapeRange.Line
.ForeColor.RGB = RGB(0, 0, 0)
.Weight = 4
End With
End Sub
マクロ実行後
セルB2に二重線の下線を引きます。
セルに下線を引く(点線)
以下のマクロを実行すると、セルに点線の下線を引きます。
Sub セルに青色点線の下線を設定する()
Dim StartX As Single
Dim StartY As Single
Dim EndX As Single
Dim EndY As Single
Range("B2").Select
'線を引く位置・線の長さを決める
StartX = Selection.Left + (Selection.Width / 6 * 0.5)
StartY = Selection.Top + (Selection.Height / 6 * 5)
EndX = Selection.Offset(0, 1).Left - (Selection.Width / 6 * 0.5)
EndY = Selection.Top + (Selection.Height / 6 * 5)
'アンダーラインを引く
ActiveSheet.Shapes.AddConnector _
(msoConnectorStraight, StartX, StartY, EndX, EndY).Select
'点線を設定
With Selection
.ShapeRange.Line.DashStyle = msoLineSysDash
.ShapeRange.Line.Weight = 1.25
End With
'青い下線を引く
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 255)
End Sub
マクロ実行後
セルB2に青色の点線の下線を引きます。
セルに下線を引く(ダブルクリック)
以下のマクロを実行すると、ダブルクリックしたセルに赤い下線を引きます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim StartX As Single
Dim StartY As Single
Dim EndX As Single
Dim EndY As Single
'線を引く位置・線の長さを決める
StartX = Target.Left + (Target.Width / 6 * 0.5)
StartY = Target.Top + (Target.Height / 6 * 5)
EndX = Target.Offset(0, 1).Left - (Target.Width / 6 * 0.5)
EndY = Target.Top + (Target.Height / 6 * 5)
'アンダーラインを引く
ActiveSheet.Shapes.AddConnector _
(msoConnectorStraight, StartX, StartY, EndX, EndY).Select
'線を赤にする
Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
Cancel = True
End Sub
マクロ実行後
ダブルクリックしたセル内に、赤い下線を引きます。
この記事がお役に立ちますと幸いです。
【エクセルマクロ】セルの中央に線を引く:使用例3選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク