Числа формата Excel VBA к определенному значению в пользовательской форме - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть пользовательская форма, которая выводит значения из ячеек на моем листе «Расчеты цен».Первый столбец A на листе «Расчет цены» содержит текст в строках с 72 по 88. Все остальные столбцы D, E, F, G, H ... и т. Д. Содержат цифры, которые я хочу отформатировать.

Я хочу отформатировать ячейки в определенный формат для значений с 17 строками k=17 (столбцы D, E, F, G, H ... и т. Д.) - мой код.Я хочу использовать формат Format(XXX.Value, "#,##0.00"), поэтому мои номера будут выглядеть как 71 000,00 вместо 71000

Private Sub UserForm_Initialize()

Dim vDB As Variant, a As Variant, c As Variant
Dim Ws As Worksheet
Dim i As Integer, j As Integer, n As Integer
Dim k As Integer

Set Ws = ThisWorkbook.Sheets("Price calculation")

a = Array("a", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n") 'column characters
c = Array(409, 444, 480, 516, 552, 588, 624, 660, 696, 732, 768, 804) 'label numbers

For i = LBound(a) To UBound(a)
    If i = 0 Then
        k = 16
    Else
        k = 17
    End If
    vDB = Ws.Range(a(i) & 72).Resize(k)
    n = 0
    For j = c(i) To c(i) + k - 1
        n = n + 1
        Me.Controls("Label" & j).Caption = vDB(n, 1)
    Next j
Next i

1 Ответ

0 голосов
/ 27 ноября 2018

Используйте

Worksheets("YourSheetName").Range("D72:N88").NumberFormat = "#,##0.00"

для форматирования ячеек. D72: N88 на листе YourSheetName.

или

Me.Controls("Label" & j).Caption = Format$(vDB(n, 1), "#,##0.00")

Если вы хотите отформатировать на своих ярлыках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...