Я пытаюсь упростить мой VBA-код для использования массивов, а не набора операторов if / then. У меня есть набор меток в форме VBA, которые имеют аналогичные названия, такие как mortgageTotalLbl
и mortgageRunningLbl
. Я хочу сравнить два значения и выделить RunningLbls
, когда они больше или равны соответствующему TotalLb
.
Я пытался использовать приведенный ниже код, но цвет не обновляется на объектах, когдаусловие верно. Это также не дает мне никаких ошибок при запуске.
Sub Update_Colors()
Dim account As Variant
Dim allaccounts As Variant
Dim var1 As String
Dim var2 As String
Dim currentaccount As Variant
allaccounts = Array("mortgage", "electricity", "phones", "internet", "garbage", "water")
For Each account In allaccounts
var1 = account & "RunningLbl"
var2 = account & "TotalLbl"
currentaccount = var1
If var1 >= var2 Then
currentaccount.ForeColor = RGB(0, 200, 0)
End If
Next account
End Sub