Страницы: 1
RSS
Функция VBA "Format"
 
Коллеги, объясните пожалуйста принцип действия функции VBA "Format". Не пойму как она действует. В прилагаемом файле суть проблемы: в столбце А значения получены макросом, а в столбце С, то какие значения бы я хотел получить. Использую именно функцию Format, т.к. Round меня не устраивает своим округлением.  
Мне не понятно, почему когда частное от деления больше или равно единицы, число резко увеличивается.
 
Поставьте текстовый формат ячейкам - на выходе Format() даёт string, посмотрите на x:  
 
Sub QQQ()  
For i = 1 To 8  
x = Format(i / 4, "##,###.000")  
Cells(i, 1) = x  
Next i  
End Sub  
 
 
Или я не понял, что нужно.
 
Либо региональные настройки в системе меняйте (как число показывать), либо формат используемый, на, например, такой "## ##0.00"
 
=
Живи и дай жить..
 
Спасибо. Таким образом я получил нужный результат. Но хотелось бы понять логику, почему так происходит. Разъясните, если не сложно  
 
К сожалению, то что Вы приложили я вообще пока не могу понять. С xml не знаком
 
поменяйте расширение файла с zip на xlsx
Живи и дай жить..
 
вернее xlsm
Живи и дай жить..
 
Спасибо, так работает.
 
{quote}{login=}{date=29.03.2012 02:42}{thema=}{post}Либо региональные настройки в системе меняйте (как число показывать), либо формат используемый, на, например, такой "## ##0.00"{/post}{/quote}  
Честно говоря не совсем понимаю смысл символов "#" в данной функции.
 
# это кол-во чисел  
попробуйте в ячейку А1 вписать значение 100,11, а потом выполнить макрос:  
Sub UserFormat()  
Dim rR As Range  
Set rR = Range("A1").Cells  
rR = Format(rR, "#")  
End Sub
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Страницы: 1
Читают тему
Наверх