Числовой формат в PivotFields.Orientation = xlDataField

Программирование на Visual Basic for Applications
Kim K.
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 31.10.2008 (Пт) 16:43

Числовой формат в PivotFields.Orientation = xlDataField

Сообщение Kim K. » 05.11.2008 (Ср) 10:12

Столкнулся с как мне кажется багом.
При програмном формировании рассчетного поля Сводной Таблицы, не получается верно задавать числовой формат
Код: Выделить всё
   
    Dim PT As PivotTable
    Set PT = ActiveSheet.PivotTables("СводнаяТаблица")

PT.CalculatedFields.Add "Цена", _
        "= IF('Кіл-ть Дт'<>0,'Оборот Дт'/'Кіл-ть Дт',0)", True

(формирование рассчетного поля -- код сгенерирован средством записи макросов эксель и чуть подправлен под введенную для PivotTable переменную PT)
Код: Выделить всё
   With PT.PivotFields("Цена")
    .Orientation = xlDataField
    .Function = xlSum
    .Position = 3
    .Caption = " Цена"
    .NumberFormat = _
        "# ##,00 грн.;[red]-# ##,00 грн."
    End With
(добавление рассчетного поля в таблицу, расположение его в область значений, присвоение ч.формата)
Вот тут и начинается баг. Как видно с формата, число должно иметь такое представление: 23,42
однако
в СТ число имеет представление 23
если же число одноразрядное, оно имеет представление 09 вместо 9,35 (!!!!)

Подскажите, в чем может крыться проблема?

Kim K.
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 31.10.2008 (Пт) 16:43

Re: Числовой формат в PivotFields.Orientation = xlDataField

Сообщение Kim K. » 05.11.2008 (Ср) 12:40

... ДОШЛО
в разделителях Экселя у меня установлена "," для десятичной части, а ВБА понимает разделитель как точку. Поэтому в написании кода надо искользовать !только "." как разделитель десятичной части!
просто


Вернуться в VBA

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 97

    TopList