У меня есть 9 ячеек в диапазоне, которые соответствуют 9 различным элементам управления текстового поля в пользовательской форме, и мне интересно, будет ли цикл For
более простым и эффективным, чем 9 различных операторов if.Ниже приведены текущие операторы If
для двух ячеек и соответствующие текстовые поля при активации пользовательской формы.
If wsCalc.Range("CCBalance1") > 0 Then
With RiskCalc.CCBal1
.Visible = True
.Value = Format(wsCalc.Range("CCBalance1"), "Currency")
End With
End If
If wsCalc.Range("CCBalance2") > 0 Then
With RiskCalc.CCBal2
.Visible = True
.Value = Format(wsCalc.Range("CCBalance2"), "Currency")
End With
End If
Ниже приведен цикл For
, который я собирался использовать, но я все ещедействительно новый способ использования циклов, особенно когда речь идет о загрузке информации из листа в элемент управления пользовательской формы.У меня такое ощущение, что я совсем не близко к тому, как это должно работать, поэтому любые рекомендации будут с благодарностью.
For Each Cell In wsCalc.Range("CCBalance1:CCBalance9")
If Cell.Offset(0, 0) > 0 Then 'I believe this will choose the first cell in the range named above
With RiskCalc.CCBal1
.Visible = True
.Value = Format(wsCalc.Range("CCBalance1"), "Currency")
End With
End If
Next