見栄えをよくするために表範囲に格子状に罫線を指定する場合があります。
そこから、空白になったセルの罫線を消し、見栄えよくしたい場合があります。
イメージ
| aaa | 111 | あああ |
| いいい | ||
| bbb | 111 | あああ |
| 222 | いいい | |
| 333 | ううう | |
| えええ |
指定セルの表範囲の罫線を結合セルのように引くコード
パーツ化しているため、コピペで対応可能です。
'■指定範囲の表の罫線を結合セルぽく見せる(見栄えよく見せる)
Public Function Call_BordersCreate(ws As Worksheet, rng As Range)
Dim eRow As Long: eRow = Call_CurrentLastRowWS(rng, ws)
Dim eCol As Long: eCol = Call_CurrentLastColWS(rng, ws)
'■罫線を格子状に引く
rng.CurrentRegion.Borders.LineStyle = xlContinuous
Dim r As Long, c As Long
For r = rng.Row To eRow - 1
For c = rng.Column To eCol
'■現在のセルの1行下が空白なら罫線を外す
If ws.Cells(r + 1, c) = "" Then
ws.Cells(r, c).Borders(xlEdgeBottom).LineStyle = xlNone
End If
Next
Next
End Function
実際の使い方
Public Sub sample()
Call Call_BordersCreate(ActiveSheet, Range("B2")) 'B2セルを含む表範囲の見栄えをよくする
End Sub
注意点
- 上記のみでは動作しません。Call_CurrentLastRowWSとCall_CurrentLastColWSもコピペください。
- 値が空白だった場合の処理です。同一の値が入っている場合はこちら。



コメント