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

エクセルマクロ:セルの中央に線を引くアイキャッチ エクセルマクロで効率化する

エクセルマクロで、セルの真ん中に横線を引くVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
せひ、お試しください。

セルの中央に線を引く

以下のマクロを実行すると、セルの中央に線を引きます。

Sub 特定セルの中央に線を引く()
     
    Dim StartX As Single
    Dim StartY As Single
    Dim EndX As Single
    Dim EndY As Single
    
    Range("A2").Select
     
    '線を引く位置・線の長さを決める
    StartX = Selection.Left
    StartY = Selection.Top + Range("A1").Height / 2
    EndX = Selection.Offset(0, 1).Left
    EndY = Selection.Top + Range("A1").Height / 2
     
    '線を引く
    ActiveSheet.Shapes.AddConnector _
     (msoConnectorStraight, StartX, StartY, EndX, EndY).Select
 
    '線を黒にする
    Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
            
End Sub

 

マクロ実行後

セルA2の中央に線を引きました。


 

太い線を引きたい場合

「Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)」の下に、
以下のコードを追加してください。

Selection.ShapeRange.Line.Weight = 3


 

セルの中央に線を引く(二重線)

以下のマクロを実行すると、セルの真ん中に二重線を引きます。

Sub 特定セルの中央に二重線を引く()
     
    Dim StartX As Single
    Dim StartY As Single
    Dim EndX As Single
    Dim EndY As Single
    
    Range("A2").Select
     
    '線を引く位置・線の長さを決める
    StartX = Selection.Left
    StartY = Selection.Top + Range("A1").Height / 2
    EndX = Selection.Offset(0, 1).Left
    EndY = Selection.Top + Range("A1").Height / 2
     
    '線を引く
    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

 

マクロ実行後

セルA2の中央に二重線を引きました。


 
 

セルの中央に線を引く(ダブルクリック)

以下のマクロを実行すると、ダブルクリックしたセルの真ん中に赤い線を引きます。

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
    StartY = Target.Top + Target.Height / 2
    EndX = Target.Offset(0, 1).Left
    EndY = Target.Top + Target.Height / 2
      
    '線を引く
    ActiveSheet.Shapes.AddConnector _
     (msoConnectorStraight, StartX, StartY, EndX, EndY).Select
  
    '線を赤にする
    Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
             
End Sub

 

マクロ実行後

ダブルクリックしたセルの中央に、赤い線を引きました。


 
 

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