Excel, NumberFormat, дробная часть

Программирование на Visual Basic for Applications
Alter
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 01.03.2005 (Вт) 14:51

Excel, NumberFormat, дробная часть

Сообщение Alter » 25.04.2006 (Вт) 8:29

Привет всем!

Числовой формат "Общий" ставит разделитель и дробную часть только тогда, когда они необходимы:
12
12.25
12.135

Но для больших чисел это не срабатывает:
999999999.01 показывает как 999999999.01
9999999999.01 показывает как 9999999999

Хотелось бы распространить поведение формата "Общий" и для больших чисел, но не придумал ничего лучше, чем при выгрузке данных в Excel использовать примерно такой код:

With Range("A1")
If x = Int(x) Then
.NumberFormat = "General"
Else
.NumberFormat = "0.####"
End If
.Value = x
End With

Недостаток:
если пользователь изменит значение в ячейке с форматом "0.####" на целое, то получится очень некрасиво (например, 5 покажет как 5.), и если в ячейку с форматом "General" введет большое число с дробной частью, тоже будет нехорошо.

Вот такая проблема... Может кто-нибудь сталкивался с подобной задачей?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.04.2006 (Вт) 9:01

Поставь в ячейке текстовый формат.
Lasciate ogni speranza, voi ch'entrate.

Alter
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 01.03.2005 (Вт) 14:51

Сообщение Alter » 25.04.2006 (Вт) 9:22

А это мысль! Спасибо!
Сейчас бьюсь над усложненной задачей: как при всем при этом оставить числа числами - все-таки с числами в текстовом формате в Excel-e работать неудобно, да и пользователь может не понять :).

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.04.2006 (Вт) 9:23

Никак, либо числа, либо текст.
Но если будешь использовать числа, то учти, что в Excel имеется 12-14 значащих разрядов, все что больше, будет игнорировано.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Mail.ru [бот] и гости: 60

    TopList