プロが教えるわが家の防犯対策術!

下記のマクロは、
B3セルからE13セルまでマウスで範囲指定して、外枠と内側に薄い罫線を引く操作をマクロ記録にて作成したものですが、

実際には、行数が毎回変わるため、C列を基準に最終行(LastRow)を取得して、
「"B3:E" & LastRow」の範囲指定で罫線を引きたいのですが、ソースをもっとスッキリさせられないでしょうか?
また、ソースの一部を変えるだけで通常の実線にできると助かります。

----------ソース----------
Range("B3:E13").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Color = -5921371
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Color = -5921371
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Color = -5921371
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Color = -5921371
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Color = -5921371
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Color = -5921371
.TintAndShade = 0
.Weight = xlHairline
End With

質問者からの補足コメント

  • HAPPY

    fujillinさん、おかげで助かりました。

    罫線に引き方について欲が出てきたのですが、
    まだ自力で応用ができるまでに至ってません^^;
    新しく質問させていただく事にします。
    ありがとうございました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/05/18 16:25

A 回答 (1件)

こんにちは



罫線が四周とも同じ指定なら、まとめて設定すればよろしいでしょう。
ご提示のコードでは色がカラーコードになっていますが、わかりにくいと思いますのでRGB値で指定するように変えてあります。
定数他(Const等で定義)の値を変えることで、設定内容を変えられます。

Dim n As Long, bColor As Long

Const bStyle = xlContinuous  'xlDash, xlDashDot, xldot
Const bWeight = xlHairline   'xlmedium, xlthick, xlthin
bColor = RGB(165, 165, 165)

n = Application.Max(Cells(Rows.Count, 3).End(xlUp).Row, 3) - 2
With Range("B3:E3").Resize(n).Borders
 .LineStyle = bStyle
 .Color = bColor
 .TintAndShade = 0
 .Weight = bWeight
End With
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます!
とてもスッキリまとまってしまいますね。

ちょっと欲張りなんですが、
・外枠及び縦線だけは太く
・項目名セルの下側も太く
・それ以外の内側の線(横線)は細く

こんな引き方だとどういう書き方になりますでしょうか?

お礼日時:2021/05/17 15:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!