VBA - 当超过1时,可以评估所有语句

Fin*_*ist 0 excel comparison vba excel-vba

我想评估一个Cell的语句列表(例如,有顶部边框,有底部边框等),并将结果传递给一个集合对象.但是,如果/ elseif在找到第一个真实语句时将停止计算,则Select Case也是如此.

有没有其他方法可以用来做到这一点?

Dim BorderColl As Collection
Set BorderColl = New Collection 

If RngCell.Borders(xlDiagonalDown).LineStyle <> xlNone Then

  BorderColl.Add "xlDiagonalDown", LCase("xlDiagonalDown")

ElseIf RngCell.Borders(xlDiagonalUp).LineStyle <> xlNone Then

  BorderColl.Add "xlDiagonalUp", LCase("xlDiagonalUp")

ElseIf RngCell.Borders(xlEdgeBottom).LineStyle <> xlNone Then

  BorderColl.Add "xlEdgeBottom", LCase("xlEdgeBottom")

ElseIf RngCell.Borders(xlEdgeLeft).LineStyle <> xlNone Then

  BorderColl.Add "xlEdgeLeft", LCase("xlEdgeLeft")

ElseIf RngCell.Borders(xlEdgeRight).LineStyle <> xlNone Then

  BorderColl.Add "xlEdgeRight", LCase("xlEdgeRight")

ElseIf RngCell.Borders(xlEdgeTop).LineStyle <> xlNone Then

  BorderColl.Add "xlEdgeTop", LCase("xlEdgeTop")

End If
Run Code Online (Sandbox Code Playgroud)

Jor*_*ork 6

你不能使用

Dim BorderColl As Collection
Set BorderColl = New Collection 

If RngCell.Borders(xlDiagonalDown).LineStyle <> xlNone Then
    BorderColl.Add "xlDiagonalDown", LCase("xlDiagonalDown")
End If
If RngCell.Borders(xlDiagonalUp).LineStyle <> xlNone Then
    BorderColl.Add "xlDiagonalUp", LCase("xlDiagonalUp")
End If
.
.
.
Run Code Online (Sandbox Code Playgroud)