【エクセルマクロ】下線を引く:4つの使用例を紹介するよ

エクセルマクロ_セル内に下線を引く_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、下線を引く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

 

マクロ実行後

ダブルクリックしたセル内に、赤い下線を引きました。


 
 

【エクセルマクロ】セルの中央に線を引く:ざっくり解説するよ
...