Progress-servis55.ru

Новости из мира ПК
22 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Умная таблица excel vba

Команды VBA к умной таблице

Добрый день,
Где можно посмотреть синтаксис команд обращения к умной таблице?
По сути мне необходимо проверить в ячейке на наличие формулы только в пределах умной таблицы

Visual Basic
18.09.2015, 09:16

Задать имя «Умной таблице» через VBA
Приветствую! Имеется лист с множеством не больших «Умных таблиц», необходимо пройтись макросом.

Поиск последней заполненной строки в умной таблице
Добрый день! Ищу последние заполненные строки в двух умных таблицах одинаковым способом, но в одном.

Создать равный размер производным умной таблице
Добрый вечер форумчане! имеется на листе Таблица1, от не ссылками некоторые данные отражены в.

Как определить последнюю строку в умной таблице Excel
Добрый день. Работаю над решением такой задачи: Private Sub CommandButton2_Click() Dim iRow As.

18.09.2015, 09:342

Вообще, проверку наличия формулы в ячейке можно выполнить так:

Visual Basic
18.09.2015, 09:55 [ТС]3
Visual Basic
18.09.2015, 10:084

Добавлено через 3 минуты
Можете сохранить ссылку на наглядное описание диапазонов умной таблицы:
http://www.thespreadsheetguru.com/bl. t-excel-tables

18.09.2015, 12:14 [ТС]5

Казанский, не посоветуете как запретить вставку формул с дублированием по всему столбцу, в принципе умной таблицей было предусмотрено наоборот)), в общем мне нужна была реализация всего потенциала умной таблицы, кроме вставки формулы в диапазон данных таблицы

имеются 4 отчета, во всех применен формат умной таблицы, только первая является резиновой, к которой привязаны остальные три с запасом строк, в случае внесения построчно новых данных в первую форму, так вот пользователь чтобы не ставил формулы, мне это нужно блокировать

К сожалению победа достигается только в рамках одной ячейки, в остальных умная таблица по столбцу дулирует

Можно было конечно пойти другим путем, но. много чего наделано)) переделывать времени нет

VBA Excel PivotTable
Сводные таблицы

«Пример создания Сводной таблицы макросом VBA Excel (эксель)»

В процессе профессиональной деятельности, оператор-аналитик многократно выполняет перегруппировку исходных (сырых) данных в тот формат, который удобен ему для анализа (например: таблица, график, диаграмма). Это может быть фильтрация, сортировка, создание сводных таблиц и т.д. …

Вспомните и проанализируйте свою повседневную работу…
Как часто Вам приходится выполнять однотипные операции с однотипными файлами?
Это и есть — работа по определенному алгоритму
А значит, эту работу можно запрограммировать и поручить компьютеру…

Исходных данных может быть много!
Возможно, это будет множество листов во множестве книг Excel !
Результатов тоже может быть много (я имею в виду получение промежуточных результатов), но цель (или конечный результат) должна быть ясна и четко обозначена…
Один макрос может прочитать мегабайты данных из разных источников (обязательно предварительно указанных) и создать несколько новых файлов (или дописать информацию в существующие файлы)…

Мнение о Средствах (инструментах) специалиста-аналитика

Сфера деятельности специалиста-аналитика может быть любой (определяется компанией-работодателем), но в любом случае это работа с большими объемами информации. Как правило, информация поступает в виде однотипных файлов, генерируемых системами автоматического слежения за процессами или статистической отчетностью подразделений компании.

Файлы с расширением xlsx, а ранее xls (книги Excel) для этой цели подходят как нельзя лучше и используются чаще обычного.

В Вашей организации так? Или по-другому?

Начиная с MS Office 2007, для работы с макросами используются файлы с другим расширением: xlsm – книга Excel с поддержкой макросов. Поэтому наиболее целесообразно в виде инструментов специалисту-аналитику использовать именно файлы с расширением xlsm. Это будут небольшие файлы, не содержащие больших объемов данных, но содержащие программный код макроса и указывающие какой лист какой книги этому макросу следует обработать…

Такой инструмент дает возможность быстро использовать возможности макроса для многих файлов (регулярно поступающих к аналитику) без переноса VBA-модулей в них.

Проверка вводимых данных в Excel (ключевых для работы макроса)

Такой подход накладывает несколько более строгие требования к задаваемым ключевым данным для работы макроса (тем данным, которые вводятся над исполнительной командной кнопкой). И хотя (в случае их отсутствия) ничего страшного не произойдет и пользователь просто получит сообщение об ошибке, но желательно средствами макроса подсказать пользователю, что им «не так сделано» и как удовлетворить справедливые запросы макроса на данные…

Видимо, название листа с целевыми данными (в отличие от предыдущего файла) было изменено, но Вам всего лишь нужно уточнить (посмотреть) как именуется лист в новом файле и вбить новое название в ячейку «В2». Именно так! Не переименовывать лист под требования макроса, а изменить ключевые данные для макроса… Ведь те, кто создавал для Вас файл данных, по каким-то причинам переименовали Лист…, то есть, с большой вероятностью, и в следующем файле (например, через месяц) Лист будет называться по-новому…

Диалоговые окна Windows в макросах Word и Excel

Конечно, не очень сложно указать путь к требуемой книге Excel (ключевые данные для макроса в ячейке «В1»), но удобнее, как только Вы перешли в ячейку «В1» увидеть стандартное диалоговое окно Windows, специально предназначенное для открытия файлов и открыть книгу через него.

При этом в ячейку «В1» автоматически запишется имя открытой книги… В общем, сразу двух зайцев убиваем… И книга открыта, и макрос имеет на 100% безошибочные данные…

Фильтры данных (информации из баз данных Excel)

Фильтрация данных – это как процесс получения полезного продукта из руды…, то есть отсев всего не нужного и повышение, таким образом, полезности информации…
Фильтрация производится по эталонным данным… Вы должны указать, что Вам нужно или что Вам не нужно…
То есть можно смело говорить о двух видах фильтров:

  • положительные фильтры – пропускают в результирующий файл информацию, которая совпала хотя бы с одним из эталонов, а остальную игнорируют…
  • отрицательные фильтры – выбрасывают любую информацию, которая совпала хотя бы с одним из эталонов, и только оставшуюся пропускают в результирующий файл…

Для формирования сводных таблиц средствами макроса придется широко использовать и те, и другие виды фильтров.
Например, в определенной колонке листа указан город расположения аптеки…
Задача может ставиться так:

  • суммирование данных по 3-5 конкретным городам – резонно использовать положительный фильтр;
  • суммирование данных по всем городам, кроме Москвы и Санкт-Петербурга – здесь удобнее отрицательный фильтр;

Функция формирования фильтров для сводной таблицы (по массиву эталонных строковых значений) написана и есть в коде…

Пример создания Сводной таблицы макросом VBA Excel (эксель)

Хочу сразу оговориться, что многие авторитетные сайты, не считают задачу формирования сводной таблицы средствами VBA уместной. По их мнению, прекрасный инструментарий Excel позволяет с наименьшими трудностями обходиться без макросов в этом вопросе… Но, ко мне обращались, представители аналитического сообщества, которым скучно, и неприятно утомительно, из раза в раз устанавливать десятки флажков (checkbox) по нескольким полям большой Базы данных…. Так что все зависит от конкретного случая…. Для кого-то это решение может стать лучшим….

Определение строк сводной таблицы.

На этом этапе важно определить уровни группировки данных (по Вашему желанию или желанию Вашего руководства).

With svT.PivotFields(«Препарат»)
.Orientation = xlRowField
.Position = 1
End With
With svT.PivotFields(«Упаковка»)
.Orientation = xlRowField
.Position = 2
End With

Как видим, здесь в группу «Препарат» попали все виды упаковок данного лекарства.

Определение фильтров сводной таблицы.

На этом этапе определяем фильтры, по которым макрос создаст сводную таблицу, но подкорректировать эти фильтры возможно будет и в ручную… Excel для этого предоставляет удобные возможности.

‘добавляем эталонные строковые значения в массив необходимого размера
ReDim ar(0 To 5)
ar(0) = «Москва»:
ar(1) = «г Москва»:
ar(2) = «Москва г»:
ar(3) = «Москва, ТЦ «»Малая Родина»»»:
ar(4) = «г Владимир»:
ar(5) = «Зеленоград»

А сейчас формируем положительный фильтр по этим нескольким значениям

FilterPlusMinus True, ar, «Город» ‘оставляет только указанные города

Или отрицательный фильтр (результат показан на Рис.4)

FilterPlusMinus False, ar, «Город» ‘оставляет города, за исключением указанных

Конечно, фильтр, допускающий только одно значение выглядит проще…

‘добавление фильтра с одним значением
With ActiveSheet.PivotTables(tNam).PivotFields(«Поставщик»)
.Orientation = xlPageField
.Position = 1
End With
svT.PivotFields(«Поставщик»).ClearAllFilters
svT.PivotFields(«Поставщик»).CurrentPage = «Санофи Россия»

А это фильтр, который по умолчанию фильтром не является, так как пропускает любые значения…, но все же есть смысл его добавить к сводной таблице, чтобы иногда… (в некоторых трудно прогнозируемых случаях), можно было его подстроить вручную…

‘добавление фильтра со всеми значениями (для ручной корректировки в процессе анализа)
With ActiveSheet.PivotTables(tNam).PivotFields(«Плательщик»)
.Orientation = xlPageField
.Position = 1
End With
svT.PivotFields(«Плательщик»).CurrentPage = «(All)»

Определение полей сводной таблицы с Итоговыми данными (здесь суммами значений).

Итоговые данные (не обязательно суммирование) всегда представляют исключительный интерес… Правда?
Таких полей в сводной таблице может быть несколько, но в моем примере на «листе данных» больше нет числовых полей, поэтому и суммирование проводить больше, как по полю «Количество», не уместно…

svT.AddDataField svT.PivotFields(«Количество»), «Сумма по полю Количество», xlSum

И вот, результат.

Безошибочность работы макроса в разы превышает возможности человека…
Про скорость я уж вообще не говорю…, Ни каких сравнений…

Поэтому, изучать язык программирования VBA очень интересно и выгодно.
Долго…? Времени на изучение жалко…?
В принципе… это не обязательно… Как не обязательно знать электронную начинку телевизора, чтобы использовать этот телевизор по назначению…
Если Вы сотрудничаете с программистом, то Вам останется – указать минимум данных и запустить уже готовый макрос… Все.
Пробуйте…

VBA Projects

Programming and other

Умные схемы Excel

Если вы не любите читать статьи, а предпочитаете разбираться сами, то вот ссылки:

Последняя версия
Версия 3.0 от 18-06-2015:

Все версии с картой регионов РФ, для Excel 2007 и выше, с открытым программным кодом с комментариями.

В работе над отчетами и презентациями нередко возникает задача сделать привлекательную картинку, отражающую, например, итоги работы компании в различных регионах страны. Обычно делается это вручную, или в графических редакторах, или в офисных программах.

А если нужно сделать десятки похожих карт?

Можно воспользоваться специальными картографическими программными продуктами, например Microsoft MapPoint или MapInfo Professional , способными визуализировать данные на карте (и решить многие другие задачи).

Но мы поступим просто и удобно – встроим макрос, раскрашивающий карты или схемы в книгу Excel с нашими числами, и получим возможность двумя кликами мышки получать симпатичную картинку.

Базовая программа / макрос умеет делать вот что

  • Выводить столбец с названиями фигур, полигонов (на примере каждый регион представлен одним или несколькими полигонами). Вы можете удалить с карты РФ не интересующие Вас области или создать свою карту. Очистите устаревшую таблицу «Данные», и макрос создаст актуальный список элементов.
  • Автоматически разбивать набор числовых данных на указанное количество ступеней (линейно), присваивать соответствующие цвета каждой ступеньке, рисовать легенду для карты.
  • Обновлять цвета карты в соответствии с выбранным набором значений. Макрос может оперировать набором значений от одного и более. Не забывайте указывать название набора данных в первой строке листа ДАННЫЕ, например, «Январь 11».
  • Текущая версия может работать только в Excel 2007, т.к. использует новые свойства объекта Shape.

Порядок работы с картой

  • Определитесь, каким образом вы будете работать с картами. Если Ваши результаты подвержены изменениям, удобнее скопировать листы СХЕМА и ДАННЫЕ в ваш проект Excel и связать формулами числовые значения для карты с листами проекта. Вы сможете быстро получить свежие иллюстрации, если в расчетах сделаны уточнения. Сохраняйте проект в книге с поддержкой макросов, чтобы сохранить возможность обновлять схемы автоматически.
  • Или используйте книгу отдельно, как самостоятельный проект.
  • Отредактируйте карту. Создавайте фигуры в Excel с говорящими названиями для удобства работы с таблицей. Этот макрос выводит в список только полигоны (autoshapetype = 138). По коду 138 найдите в макросе листа «Схема» строку, прерывающую функцию. Удалите строку или отредактируйте, если вам нужно раскрашивать фигуры, отличные от типа полигон (№138). Удобно, если дополнительные элементы оформления карты не будут загромождать список.
  • Очистите устаревшие значения таблицы на листе Данные. Нажмите кнопку Обновить. Будет создан список названий фигур, которые вы собираетесь окрашивать в соответствии с числовыми данными.
  • Перенесите значения, характеризующие, например, один временной период, в один столбец, начиная с четвертого, в соответствующие строки. Не забывайте про необходимость названия столбца данных в первой строке листа Данные.
  • На листе СХЕМА выберите базовый цвет для палитры. Он будет примерно в середине расчетного градиента. В случае ошибки обработки Вашего выбора, автоматически устанавливается синий (тема №4).
  • Укажите количество ступеней или цветовых оттенков. В данном макросе выбор ограничен – от 2 до 7. Использовать больше ступеней вы можете после изменения кода и м.б. дизайна листа.
  • Выберите набор данных и кликните кнопку Обновить. Дождитесь завершения работы программы.

Про работу с макросами

В книге Excel 2007 с поддержкой макросов (.xlsm) может храниться и выполнятся программный код на языке VBA.
Чтобы не подвергаться лишнему риску открыть документ с опасными программами, в настройках Excel отключите макросы с уведомлением:

Получив уведомление, запустите макрос визуализации:

Умные схемы Excel : 12 комментариев

Случайно наткнулся на Ваш блог, а конкретно на программу Визуализация наборов числовых значений на карте или любом другом рисунке из фигур Excel Версия 1.0. В связи с чем у меня к Вам вопрос, а нет ли случайно у Вас более продвинутой версии данной программы, в которой ступени цвета распределяются не от 0 (нуля). Чтобы можно было самостоятельно задавать как например «параметры оси» при построении графика в Excel ну т.е. минимальное, максимальное значение и шаг. А также чтобы можно было бы делать распределение в процентах, сейчас конечно тоже это можно, но в легенде отображаются доли, а не проценты (т.е. легенда воспринимала бы формат числа.
Ну а если бы на карту можно было бы наносить кружочками города и размер кружка также бы изменялся в зависимости от показателя было бы вообще супер.

Новой версии пока нет.
Полезные интересные функции, спасибо. Попробую реализовать.

В новой версии 2.0 от 04.02.2014г. можно создавать легенду как автоматически, так и вручную, самостоятельно выбирая цвета и размеры каждого диапазона.

Приветствую. Отличный файл!
В версиях 2.0 и 2.1 не удается применить значения второго столбца столба с данными (в примере — 2014), всегда возвращает на первый столбец с данными (в примере — 2013). Что нужно поправить в макросе?

Владимир, спасибо.
Ошибка исправлена в последней версии. В процедуре Public Sub Init() добавлено сохранение названия выбранного набора данных (столбца).

Спасибо за исправление. Отличный файл!

добрый день
вы написали как удалить формы с карты и создать собственную карту и не сказали как добавить, например, хочу добавить Крым
Заранее спасибо

Добрый день!
Спасибо за проявленный интерес. Добавить очень просто. Действия, касающиеся работы макроса, на примере Крыма:
1. Копируете Крым с карты Украины на карту России.
2. Установите название объекта формы Крыма (левый верхний угол, там где адреса ячеек таблицы, после редактирования обязательно нажмите Enter).
3. Обновляете карту — кнопка «Обновить».
4. На листе «Данные» в конце списка должно появиться название нового региона — значит все ок.
5. Вводите числовые значения для визуализации и пользуетесь картой.
Оформление настраивайте на свой вкус.

А города как можно добавить?

Добрый день, возможна ли работа данной карты в Excel версии 2003?

Для Офиса 2003 установите бесплатный «Пакет совместимости форматов Office».
Ссылка: https://www.microsoft.com/ru-ru/softmicrosoft/compatibility.aspx

Добрый день, скажите, есть возможность добавить карту пермского края вместо карты России??

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Читать еще:  Как скопировать страницу в excel
Ссылка на основную публикацию
Adblock
detector
Visual Basic