Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Ограничения в сводной таблице, ограничения по количеству уникальных элементов в одном поле сводной таблицы
 
Изначально было в макросе: Set wbDbf = Workbooks.Open("<Имя dbf-файла>")
DBF-файл готовился из Visual FoxPro

Потом пробовал из Visual FoxPro путем передачи данных непосредственно на лист Excel и на новом листе добавлял сводную
Ограничения в сводной таблице, ограничения по количеству уникальных элементов в одном поле сводной таблицы
 
Добрый день !
Передаю данные в сводную таблицу с использованием макроса, который обрабатывает dbf-файл и заметил, что возникают ограничения по
количеству уникальных элементов в одном поле.

Из интернета нашел: 8 000 - Excel 2000, 32 500 - Excel 2003, 1 048 576 (может ограничиваться объемом доступной оперативной памяти) - Excel 2010

Но при установленном Excel 2010 на разных компьютерах ограничивает или 8000 или 32500

Если же передавать данные из Visual FoxPro в Excel с помощью объекта Excel.Application, то при превышении строк на
листе более примерно 65000 - ошибка при создании сводной таблицы.

Сводные таблицы - мощный и классный инструмент (заказчикам нравится), но из-за данного ограничения страдают.
Может кто-то обходил эту проблему.
Спасибо.
разбиение на триады и подавление незначащих нулей одновременно
 
А мешает то, что это не отдельные ячейки, а сводная таблица. И проверять каждую ячейку в поле данных, наверно, не очень хорошо. У Excel получилось в одном свойстве объединили два разных режима: разделение разрядов и количество знаков после запятой, хотя, по-хорошему, их нужно было разделить.
превышение максимального количества столбцов при формировании сводной таблицы
 
Причем сообщение Excel выскакивает каждый раз при попытке заполнить свойство полей сводной таблицы "Данные" (а это происходит в цикле):

Код
 With pvt.PivotFields(nm)                        
                        .Orientation = xlDataField                        
                        .Position = i
                        .Function = fun
End With 


Можно ли как-то перехватить это сообщение или после первого раза проанализировать какую-то переменную или свойство с результатом его работы ?
превышение максимального количества столбцов при формировании сводной таблицы
 
Добрый день !

В макросе формируется сводная таблица из dbf-файла командой:

Код
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
            SourceData:="[" & dbf & "]" & fname & "!База_данных") _
            .CreatePivotTable TableDestination:=Range("A" & Trim(Str(nomstr))), TableName:="СводнаяТаблица"
Set pvt = ActiveSheet.PivotTables("СводнаяТаблица")


так как до этого dbf-файл сформирован средствами Foxpro и может содержать различные данные, то иногда возникает проблема с превышением максимально допустимого количества столбцов. (256 для Excel ниже 2007). При этом Excel выдает сообщение о превышении этого количества и два варианта дальнейшей работы: показать таблицу обрезанную или отказаться от показа.
Так вот возникает вопрос: а как почувствовать в макросе, что пользователь отказался от показа сводной таблицы, чтобы не выполнять макрос дальше, а завершить работу ?

Или, может, как-то можно подавить это сообщение, чтобы сразу выдавать сводную таблицу в обрезанном варианте.

Спасибо.
Изменено: igor0108 - 20.08.2013 16:40:43
разбиение на триады и подавление незначащих нулей одновременно
 
Добрый день !
Возникла такая проблема: при формировании сводной таблицы с использованием макроса в ячейках с данными подсчитываются какие-то значения. Заказчик захотел, чтобы эти значения разбивались на триады.
Можно было бы воспользоваться свойством .NumberFormat = "#,##0.00", но тогда здесь же нужно указывать количество символов после запятой (в примере 2). Но при этом все суммы записываются как 12345.00, а заказчик хочет подавлять незначащие нули в дробной части, что и происходит, если не использовать NumberFormat.

Может есть еще какой-то способ убить двух зайцев сразу.
Спасибо.
Страницы: 1
Наверх