• ベストアンサー

エクセルVBAで罫線挿入

マクロの記録で下記のように記録されたものを簡潔にまとめるにはどのように記述したらいいでしょうか? Range("C3:F3").Select With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection .HorizontalAlignment = xlCenterAcrossSelection .VerticalAlignment = xlBottom End With

質問者が選んだベストアンサー

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

こんにちは。 色々あるとは思いますが、一案。 ------------------------------------------------ Sub TestLine()  With Range("C3:F3")    With .Borders      .LineStyle = xlContinuous      .Weight = xlThin      .ColorIndex = xlAutomatic    End With    .Borders(xlInsideVertical).LineStyle = xlNone    .Borders(xlInsideHorizontal).LineStyle = xlNone    .HorizontalAlignment = xlCenterAcrossSelection    .VerticalAlignment = xlBottom  End With End Sub ------------------------------------------------- 以上です。  

merlionXX
質問者

お礼

なーるほど! こういう感じですっきりできるんですねえ! ありがとうございました。

その他の回答 (2)

  • taocat
  • ベストアンサー率61% (191/310)
回答No.3

No.2の補足です。 お分かりとは思いますが今回はC3:F3の一行ですので  .Borders(xlInsideHorizontal).LineStyle = xlNone この、中水平線を消すコードは不要です。 以上です。

merlionXX
質問者

お礼

あ!そうですね。 重ね重ねありがとうございました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 ちょっと正統的な方法ではないですが、こんな感じ Sub Test2()   Dim i As Long      With Range("C3:F3")     For i = 7 To 10       .Borders(i).LineStyle = xlContinuous       .Borders(i).Weight = xlThin       .Borders(i).ColorIndex = xlAutomatic     Next i     .HorizontalAlignment = xlCenterAcrossSelection     .VerticalAlignment = xlBottom   End With End Sub 後半の2行は、罫線ではなく、セルの文字配置に関する記述ですので、これ以上まとめることは出来ません。

merlionXX
質問者

お礼

ありがとうございます。 勉強になりました。