Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : Microsoft 365)
枠罫線の設定で中間水平線だけを細くしたい
投稿日時: 23/03/04 04:33:27
投稿者: ヘクセル

コード一部のみ抜粋
 '範囲全体に罫線を引く
ShPut.Range("A1:D" & LastRow).Borders.LineStyle = True
 
前後のコード進行からこの一行のコードを使用するか又は変更して、現在は表罫線の「田」のすべてが普通線になっていますが、これを中間線の水平線のみを細線に変更することは可能でしょうか?
 
――――
  ↓
--------
 
ShPut.Range("A1:D" & LastRow).Borders.LineStyle = True '←必須又は変更
ShPut.Range("A1:D" & LastRow).Borders(xlInsideHorizontal).Weight = xlHairline '←追加してみましたが、これだと「田」の外枠上下とも細線になってしまい上手く出来ないです。

回答
投稿日時: 23/03/04 08:05:22
投稿者: simple

 その事象は私の環境では再現しません。(Excel2019,Windows10)
  
「表示」で目盛線のチェックをはずしたうえで、下記を実行してみてください。
 Range("B2:D4")の中の水平線しか点線で引かれないと思います。
 2行目の上、4行目の下の部分には、なにも変化がないはずです。

 Sub test()
     Dim r As Range
     Set r = Range("B2:D4")
     r.Borders(xlInsideHorizontal).Weight = xlHairline
 End Sub
-------------
 ですから今のままでも実現できていると思いますし、
 罫線の太さを目立たせたいなら、下記のようにしてはどうでしょうか。
 Sub test2()
    Dim r As Range
    Set r = Range("B2:D4")
''    r.Borders.LineStyle = True
''    r.Borders.Weight = xlThin     '上と同じ効果。
    r.Borders.Weight = xlMedium     'もっと太めにしたければ。
    r.Borders(xlInsideHorizontal).Weight = xlHairline
 End Sub
印刷結果のことを言っていますか? シートの見た目でいいんですよね。
 (印刷だとプリンターの環境も関係してくる可能性があります。)

投稿日時: 23/03/04 09:48:58
投稿者: ヘクセル

回答ありがとうございます
これでは質問内容の意味に不備がありまして回答者の方たちが理解に苦しみます
新たにこの事に関しまして、また別案が浮かびましたら再度質問させていただきます
この度はすいませんでした