2015-04-06 4 views
1

В листе 1 значение 45 поэтому я хочу в листовом RESULTADO формат так: 0045номера форматирования VBA Excel в строки

Worksheets("RESULTADO").Range("B" & row_counter) = Format(Worksheets(1).Range("B" & row_counter).Value, "0000") 

Почему это не работает?

Я попытался также, но ни он не работает:

Worksheets("RESULTADO").Range("B" & row_counter) = CStr(Format(Worksheets(1).Range("B" & row_counter).Value, "0000")) 

ответ

1

Вы можете сделать это в двух (2) способами:

  1. Установить формат номера первого

    With Worksheets("RESULTADO").Range("B" & row_counter) 
        .NumberFormat = "@" 
        .Value = Format(Worksheets(1).Range("B" & row_counter).Value, "0000") 
    End With 
    
  2. Использование ' apostrophe

    Worksheets("RESULTADO").Range("B" & row_counter) = "'" & _ 
        Format(Worksheets(1).Range("B" & row_counter).Value, "0000") 
    
0

это не работает, потому что в первом случае вы пытаетесь форматировать число п 00N которым всегда возвращают п, во втором случае, вы точно так же, то вы TransType результат в строка. Вам нужно сначала преобразовать n в строку. Поэтому в вашем случае:

Worksheets("RESULTADO").Range("B" & row_counter) = Format(CStr(Worksheets(1).Range("B" & row_counter).Value), "0000") 
Смежные вопросы