3

Помощь в VBA

Помогите решить задачу, спецы.

Дано: N-ое количество таблиц "калькуляторов" со сводными данными. Все таблицы одинаковы по своей структуре (положения ячеек и подписи), лежат в одной папке вместе.

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

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

Я вижу это так: я беру шаблон, закидываю в папку с таблицами, открываю, запускаю макрос, он берет пути и имена к таблицам из папки в которой лежит и дает эти данные для консолидации.

Готов оплатить реализацию, если она возможна.

П.С.: может есть другие методы?

Лига помощи Excel

114 постов931 подписчик

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий

Если сводная будет не в папке с "калькуляторами", то как то так макрос выглядеть будет:


Dim TarFolder As String, i as Object, SumWB as worksheet

Application.ScreenUpdating = False

Application.DisplayAlerts = False

set sumWB = activeworkbook.activesheet

TarFolder = "" /тут можно или от текущей книги задать или Application.FileDialog(msoFileDialogFolderPicker), чтоб окно высветилось для выбора


for each i in TarFolder.Files

open

sum

close

next

Application.ScreenUpdating = True

Application.DisplayAlerts = True


Можете в шаблон всунуть, можете в личную книгу макросов, можете создать книгу с макросами и там на кнопки повесить. Если Сводная прям внутри папки нужна, то можно её по имени исключать или просто переместить на рабочий стол, потом всё перебрать и вернуть обратно

раскрыть ветку (10)
0
Автор поста оценил этот комментарий

Здравствуйте! А можно мне задать вопрос по таблице?

раскрыть ветку (6)
0
Автор поста оценил этот комментарий

да конечно

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Спасибо! У меня таблица с кучей телефонов, база. Мне надо по каждому расставить регион. Как сделать выборку по части номера, например код 916 и напротив каждой автоматом прописать город, например Москва. Вручную ну очень долго, часть я уже сделала, а их у меня 7500... Огромное спасибо!

раскрыть ветку (4)
0
Автор поста оценил этот комментарий

Мало вводных.

Если есть таблица *-Код-*-регион, то можно сделать =ВПР(1;2;3;ИСТИНА)

где 1 - код из этой таблицы

2 - таблица из которой ищем значение, выделяем начиная со столбика с кодом до столбика с регионом, и обязательно нажимаем F4, чтоб зафиксировать таблицу при растягивании

3 - это порядковый номер столбика с регионом, где столбик с кодом - это 1.

То есть, если у Вас Номер стоки-код-область-город, то будет

=ВПР(<код>;'[Таблица кодов.xlsx]Лист 1'!R2C2:R700C4;3;ИСТИНА)


Теперь как искать код:

Тут важен формат номера в телефоне, например, если код выделен скобками или после него пробел (там может быть ещё пол-пробела, так что лучше скопировать пробел и вставить в формулу): (903) 111-11-11 или '+7 (903) 111-11-11, 903 111-11-11,то можно добавить скрытый столбец слева, там =поиск(")";RС[1])

потом фиксируем первый символ кода (2, для первого и 5 для второго формата, тут использую 2) добавляем еще один скрытый столбец слева, там: =ПСТР(RC[2];2;RC[1]-2) получаем код для вставки. Если скрытые столбцы не хочется, то все формулы можно объединить (формулы для столбца слева):


=ВПР(ПСТР(RC[1];2;поиск(")";RС[1])-2);'[Таблица кодов.xlsx]Лист 1'!R2C2:R700C4;3;ИСТИНА)


Если такой таблицы нет, но есть таблица *-регион-*-код и её нельзя откопировать и поменять столбики местами, то чуть сложней можно через ИНДЕКС и ПОИСКПОЗ примерно тоже самое сделать.

Если вообще таблицы нет, то можно включить данные, потом включить там по поиску все с кодом опять со скобками и/или пробелом ищем, чтоб лишнее не находил, а потом вставлять в уже полуручном режиме

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Ёлки зелёные. Спасибо. Я теперь разбирать это буду неделю.. Но я попробую. Там столбец ФИО, потом телефон без всяких скобок и пробелов, а потом столбец место жительства. Вот я и хотела формулу, чтобы можно было выбрать всё, допустим, 916, и в столбец напротив чтобы прославилось Москва или там Питер. И так с каждым последующим кодом региона. Это я пояснила, вдруг изначально неверно сказала...

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

коды областей (и федеральных городов) вроде всегда трёхзначные. тогда можно:

=ЛЕВСИМВ(RC[1];3) - это код области;

дальше 2 знака на код города, но у крупных городов 1 знак (думаю там всё равно 2 знака, просто все 10 пулов номеров отдали одному городу), так что если область, то можно верхнюю оставить, если нужен город, то если остаться в рамках формул можно делать поиск по 3,4,5 знакам а в четвертой колонке искать 1, который нашелся


тогда ставим =ЕСЛИОШИБКА(ВПР(...);0)

а в последней колонке =ЕСЛИ(НЕ(RC[-3]=0);RC[-3];ЕСЛИ(НЕ(RC[-2]=0);RC[-2];RC[-1])


и в ВПР последний аргумент ЛОЖЬ я всё время путаю, сейчас эксель запустил проверил.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибище!!!! Буду пробовать.. Пока мало что поняла, но потыкаюсь

0
Автор поста оценил этот комментарий

на TarFolders ругается, инвалид квалифир...я ваще не силен в макросах к сожалению

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Да ошибся папку как объект задаем dim TarFolder as Object

А потом, когда путь:

set TarFolder = CreateObject("Scripting.FileSystemObject").getFolder(< Вот_сюда_путь>)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

бро я деревянный в макросах, напиши плиз в телегу по нику (Ч/Б аватарка), обсудим, в обиде не оставлю

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества