Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вызов процедуры создания СТ с переменными - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вызов процедуры создания СТ с переменными (Макросы/Sub)
Вызов процедуры создания СТ с переменными
mikaelw Дата: Суббота, 08.11.2014, 17:53 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 1 ±
Замечаний: 20% ±

Excel 2010, 2013, 2016
Доброго времени суток.
Профии и юзеры Екселя и ВБА.

Вопрос наверное который является самыми азами программирования, я в книге Уокенбаха не понял(или просто не дочитал)...
Заповтор извините сразу если таковой был!

Задача.

Нужно из одной БД создать N-ое кол-во сводных таблиц.

По логике пишем 1 процедуру создания сводной таблицы(а не N-ое кол-во раз ее повторяем)
и далее ее вызываем с разными переменными(или если я правильно понимаю аргументами)..
При вызове процедуры передаем параметры различия(название листа и название таблицы).

Не как не могу понять как это сделать правильно!

Файл примера прилагаю.

Заранее спасибо!

18-02 поменял пример не тот заг
К сообщению приложен файл: 081120141752.xlsm (28.8 Kb)


Сообщение отредактировал mikaelw - Суббота, 08.11.2014, 18:54
 
Ответить
СообщениеДоброго времени суток.
Профии и юзеры Екселя и ВБА.

Вопрос наверное который является самыми азами программирования, я в книге Уокенбаха не понял(или просто не дочитал)...
Заповтор извините сразу если таковой был!

Задача.

Нужно из одной БД создать N-ое кол-во сводных таблиц.

По логике пишем 1 процедуру создания сводной таблицы(а не N-ое кол-во раз ее повторяем)
и далее ее вызываем с разными переменными(или если я правильно понимаю аргументами)..
При вызове процедуры передаем параметры различия(название листа и название таблицы).

Не как не могу понять как это сделать правильно!

Файл примера прилагаю.

Заранее спасибо!

18-02 поменял пример не тот заг

Автор - mikaelw
Дата добавления - 08.11.2014 в 17:53
alex1248 Дата: Суббота, 08.11.2014, 19:51 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
mikaelw, а что у вас не получалось?
Я просто задал значения переменным Report1 и Report2, вроде, работает.
Да, и у вас ведь отчеты полностью идентичны, только с разными названиями?
К сообщению приложен файл: 081120141752-11.xlsm (27.4 Kb)


skype alex12481632
Qiwi +79276708519
 
Ответить
Сообщениеmikaelw, а что у вас не получалось?
Я просто задал значения переменным Report1 и Report2, вроде, работает.
Да, и у вас ведь отчеты полностью идентичны, только с разными названиями?

Автор - alex1248
Дата добавления - 08.11.2014 в 19:51
mikaelw Дата: Суббота, 08.11.2014, 20:07 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 1 ±
Замечаний: 20% ±

Excel 2010, 2013, 2016
Я просто задал значения переменным Report1 и Report2, вроде, работает.
Да, и у вас ведь отчеты полностью идентичны, только с разными названиями?


Отчеты идентичны, т.к это заготовки
Нашел решение за 1 минуту до вашего ответа.
Нужно просто аргумент было передавать значением, т.е.:

Call PivotTable("Report", "Report1")
Call PivotTable("Report", "Report1")

-поставить кавычки

Только я теперь еще решил усложнить задачу и не пойму теперь ошибку

Посмотри пример
 
Ответить
Сообщение
Я просто задал значения переменным Report1 и Report2, вроде, работает.
Да, и у вас ведь отчеты полностью идентичны, только с разными названиями?


Отчеты идентичны, т.к это заготовки
Нашел решение за 1 минуту до вашего ответа.
Нужно просто аргумент было передавать значением, т.е.:

Call PivotTable("Report", "Report1")
Call PivotTable("Report", "Report1")

-поставить кавычки

Только я теперь еще решил усложнить задачу и не пойму теперь ошибку

Посмотри пример

Автор - mikaelw
Дата добавления - 08.11.2014 в 20:07
alex1248 Дата: Суббота, 08.11.2014, 20:11 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
пример

Нет его. :(


skype alex12481632
Qiwi +79276708519
 
Ответить
Сообщение
пример

Нет его. :(

Автор - alex1248
Дата добавления - 08.11.2014 в 20:11
mikaelw Дата: Суббота, 08.11.2014, 20:15 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 1 ±
Замечаний: 20% ±

Excel 2010, 2013, 2016
Нет его.


Извини сайт повис в мертвую...
К сообщению приложен файл: 1918025.xlsm (25.8 Kb)
 
Ответить
Сообщение
Нет его.


Извини сайт повис в мертвую...

Автор - mikaelw
Дата добавления - 08.11.2014 в 20:15
alex1248 Дата: Суббота, 08.11.2014, 20:31 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
В имени листа в строке определения диапазона имя переменной было написано неверно.
Кстати, советую использовать опцию Option Explicit (Tools - Options - Editor - поставить галку у Require Variable Declaration), всегда придется определять переменные, соответственно, ошибки в их именах будут сразу вылавливаться.
К сообщению приложен файл: 1918025-111.xlsm (27.2 Kb)


skype alex12481632
Qiwi +79276708519


Сообщение отредактировал alex1248 - Суббота, 08.11.2014, 20:34
 
Ответить
СообщениеВ имени листа в строке определения диапазона имя переменной было написано неверно.
Кстати, советую использовать опцию Option Explicit (Tools - Options - Editor - поставить галку у Require Variable Declaration), всегда придется определять переменные, соответственно, ошибки в их именах будут сразу вылавливаться.

Автор - alex1248
Дата добавления - 08.11.2014 в 20:31
mikaelw Дата: Суббота, 08.11.2014, 20:53 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 1 ±
Замечаний: 20% ±

Excel 2010, 2013, 2016
спс
А как сделать чтобы если не задан аргумент, отработал по стандартной схеме екслея?
 
Ответить
Сообщениеспс
А как сделать чтобы если не задан аргумент, отработал по стандартной схеме екслея?

Автор - mikaelw
Дата добавления - 08.11.2014 в 20:53
alex1248 Дата: Суббота, 08.11.2014, 21:07 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
Не понял вопроса. :(


skype alex12481632
Qiwi +79276708519
 
Ответить
СообщениеНе понял вопроса. :(

Автор - alex1248
Дата добавления - 08.11.2014 в 21:07
mikaelw Дата: Суббота, 08.11.2014, 21:41 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 1 ±
Замечаний: 20% ±

Excel 2010, 2013, 2016
Ситуация усложняется!

Если на одном листе нужно создать 2 СТ.

К примеру в ячейке А1 и в ячейке Д1.

Как в таком случае действовать?

смотри пример.
К сообщению приложен файл: 081120142139.xlsm (27.4 Kb)
 
Ответить
СообщениеСитуация усложняется!

Если на одном листе нужно создать 2 СТ.

К примеру в ячейке А1 и в ячейке Д1.

Как в таком случае действовать?

смотри пример.

Автор - mikaelw
Дата добавления - 08.11.2014 в 21:41
RAN Дата: Суббота, 08.11.2014, 22:07 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Оно, как бы, не ситуация усложняется, а вы себе на ... приключений ищете.
Создавать в 4 столбце новую сводную, при условии, что первая может иметь 14 столбцов - сидеть на гранате, и дергать за чеку (выдеру/нет).


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Суббота, 08.11.2014, 22:07
 
Ответить
СообщениеОно, как бы, не ситуация усложняется, а вы себе на ... приключений ищете.
Создавать в 4 столбце новую сводную, при условии, что первая может иметь 14 столбцов - сидеть на гранате, и дергать за чеку (выдеру/нет).

Автор - RAN
Дата добавления - 08.11.2014 в 22:07
mikaelw Дата: Суббота, 08.11.2014, 22:26 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 1 ±
Замечаний: 20% ±

Excel 2010, 2013, 2016
Оно, как бы, не ситуация усложняется, а вы себе на ... приключений ищете.


Не ищу, а учусь!

Я хочу переписать цикл проверки ошибок.

А чтобы не получилось описанного вами, аргумент рассчитываю по принципу конец СТ + 1 ячейка.
В пример выдираю частично код(файл рабочий состоит из 22 процедур не одинаковых, учусь.....)
Там конечно оптимизировать и оптимизировать можно, но каждый начинает с малого....
 
Ответить
Сообщение
Оно, как бы, не ситуация усложняется, а вы себе на ... приключений ищете.


Не ищу, а учусь!

Я хочу переписать цикл проверки ошибок.

А чтобы не получилось описанного вами, аргумент рассчитываю по принципу конец СТ + 1 ячейка.
В пример выдираю частично код(файл рабочий состоит из 22 процедур не одинаковых, учусь.....)
Там конечно оптимизировать и оптимизировать можно, но каждый начинает с малого....

Автор - mikaelw
Дата добавления - 08.11.2014 в 22:26
RAN Дата: Суббота, 08.11.2014, 22:33 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Что вижу, то пою
[vba]
Код
Call PivotTable("BD", "BD_AKB", "BD_AKB", "D1") ' 2-ая сводная на одном листе!
[/vba]
аргумент рассчитываю по принципу конец СТ + 1 ячейка.

Не вижу, не пою.
Для начала смените столбец на Р.
Вдруг поможет?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЧто вижу, то пою
[vba]
Код
Call PivotTable("BD", "BD_AKB", "BD_AKB", "D1") ' 2-ая сводная на одном листе!
[/vba]
аргумент рассчитываю по принципу конец СТ + 1 ячейка.

Не вижу, не пою.
Для начала смените столбец на Р.
Вдруг поможет?

Автор - RAN
Дата добавления - 08.11.2014 в 22:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вызов процедуры создания СТ с переменными (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!