【エクセルマクロ】下線を引く4選:自動化で効率UP

エクセルマクロ_セル内に下線を引く_アイキャッチ ExcelVBA

エクセルマクロで、下線を引く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秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説