-1
最初の列でデータベースをソートしようとしていますが、境界線はソートされたデータに基づいて移動しませんでした。excel vbaで並べ替えるときの境界線の移動方法は?
vbaコードを使用して移動することはできますか?ここで
最初の列でデータベースをソートしようとしていますが、境界線はソートされたデータに基づいて移動しませんでした。excel vbaで並べ替えるときの境界線の移動方法は?
vbaコードを使用して移動することはできますか?ここで
アイデアのようなものです。これは、全体のソリューションではありませんが、あなたはそれから開始し、マジックナンバーなどを除去することで、自分自身を構築することができます...
Option Explicit
Public Sub SortingBorders()
Dim rngMyRng As Range
Dim rngCell As Range
Set rngMyRng = Range("A1:A20")
Call RemoveAllBorders(rngMyRng)
For Each rngCell In rngMyRng
If rngCell <> rngCell.Offset(1, 0) Then
Range(rngCell.Offset(1, 0), rngCell.Offset(1, 5)).Borders(xlEdgeTop).LineStyle = xlContinuous
End If
Next rngCell
End Sub
Public Sub RemoveAllBorders(rngMyRng As Range)
With rngMyRng
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End Sub
ソリューションが回り込ん列1を指定し、条件rngCell <> rngCell.Offset(1, 0)
がtrueの場合にのみ境界線を設定します。
ありがとうございます。それは解決策ではありませんが、アイデアは正しいです。それはうまく動作します。ありがとうございました –