Страницы: 1
RSS
Формат числа в label (форма vba)
 
Друзья, в очередной раз обращаюсь к Вам за помощью. В файле при выполнении макроса (ctrl+q), появляется форма и отображает значение ячейки "A1". Так вот проблема в том, что никак не получается настроить формат отображаемого значения. В идеале, хотелось бы числовой формат с 2 знаками после запятой, разделителем тысяч и отрицательные значения красным цветом. Буду благодарна за любую помощь.
 
Частичное решение вопроса, с разделением тысяч пока не придумал :)  
Sub UFS()  
With UserForm1.Label1  
.Caption = Round(Range("A1").Value, 2)  
If .Caption < 1 Then .ForeColor = &HFF&  
End With  
UserForm1.Show  
End Sub
 
По идее Caption нужно не округлять, а форматировать, пока не нашёл как подступиться...
 
Label1=Format([a1],"Fixed")
 
С цветом - засада.
 
Label1.Caption=Format([a1],"Fixed")
 
Caption, конечно
 
Вот так получилось пока:  
Private Sub UserForm_Initialize()  
Label1.Caption = Format([a1], "Fixed")
If [a1] < 0 Then
Label1.ForeColor = vbRed  
Else  
Label1.ForeColor = vbBlack  
End If  
End Sub
 
Еще вариант:  
 
Private Sub UserForm_Initialize()  
   With Label1  
       .Caption = Format([a1], "# ### ##0.00")
       .ForeColor = IIf([a1] < 0, vbRed, vbBlack)
   End With  
End Sub  
 
см файл
Редко но метко ...
 
Всё оказалось просто и изящно, как всегда :)
 
Прошу прощения, что поднимаю тему, так как ее можно уже закрывать, но не успела поблагодарить ребят за решение моей проблемы (была в командировке).  
 
Спасибо всем огромное за участие в вопросе и его решении, как обычно нерешаемый для меня вопрос оказался легким для вас :)  
 
Использовала варианты Пытливого и GIG_ant'а для различных вариантов форматирования. Ребята, спасибо всем.  
 
Всех с наступающим Новым Годом!!!!!!!!!!!!!!!!
 
valeria_j
Страницы: 1
Читают тему
Наверх