|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
|
Переключение между базами данных. (VBA, Excel 2010)25.08.2011, 18:29. Показов 3808. Ответов 15
Метки нет (Все метки)
Доброго времени суток.
Человек я всю жизнь проходящий мимо программирования, и пытающийся решить проблемы стандартными возможностями Excel, всё таки столкнулся, со сложностью, и уже необходимость познания VBA. Таки пришлось вспоминать что в университете преподавали, однако память дырявая. Задача моя выглядит следующим образом: 1)Есть папка с данными. там файлы csv. количество файлов периодически увеличивается. Нужен код для кнопки, чтобы при нажатии сканировалась папка, и все имеющиеся там файлы данных подключались к книге. 2)В экселе создаётся выпадающий список с подключёнными файлами данных. Выбрав один из них, он автоматически вставляется на определённый лист в книге.
0
|
|
| 25.08.2011, 18:29 | |
|
Ответы с готовыми решениями:
15
Работа с базами данных в Excel + VBA Передача данных между базами данных в пределах одного экземлпяра VBA в Excel 2010 |
|
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
|
|
| 25.08.2011, 18:59 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
|
| 25.08.2011, 19:50 [ТС] | |
|
Это то что постоянно приходится делать:
Вкладка "данные" - "подключения" - "добавить", и потом идёшь по компьютеру, заходишь в папочку, и указываешь появившейся ещё один csv файл, со всем соглашаешься, уточняешь что точка с запятой разделитель клеток и готово.
0
|
|
|
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
|
|
| 25.08.2011, 19:51 | |
|
на запись не пробовали ставить??
0
|
|
|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
|
| 25.08.2011, 19:53 [ТС] | |
|
Если первую часть и не сложно проделывать в ручную, поскольку файлы не так часто появляются,
то со второй частью хуже. Вот она более важна.
0
|
|
|
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,327
|
|
| 25.08.2011, 19:57 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
|
| 25.08.2011, 20:09 [ТС] | |
|
Попробовал.
При установке на запись не даёт возможности выбора файла для подключения, а просто ещё раз подключается к тому же файлу Добавлено через 8 минут Залез в код макроса, и начал понимать его суть. А соответственно и уместный ваш вопрос. вечерком попишу разные макросы на автозаписывании потом попытаюсь соединить.
0
|
|
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|
| 26.08.2011, 07:26 | |
|
jerja,
т.е. вручную вы делаете так: вкладка Данные - группа Подключения - Подключения - Добавить... - Найти другие... - выбираете файл - появляется Мастер текстов (импорт) - на втором шаге выбираете разделить точка с запятой - Готово - Закрыть. В итоге в книге Excel ничего не происходит (данные не добавляются на лист). Дальше что вы делаете, чтобы данные появились на листе в нужном месте?
0
|
|
|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
|
| 26.08.2011, 09:27 [ТС] | |
|
В меню Данные есть Существующие подключения
В них двойной щелчёк на нужном подключении, и указываю с какой ячейки начать вставлять.
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|||||||||||
| 26.08.2011, 09:46 | |||||||||||
|
Файлы csv это текстовые файлы и мне было бы проще открывать и обрабатывать их именно как текстовые. На открытие книги(или можно на кнопочку) написать макрос переборя файлов в нужной папке(можно выводить диалог выбора папки, а можно просто файл ложить рядом с папкой и путь не запрашивать). Макрос переберёт все файлы в папке и создаст список. При выборе названия файла сразу или по кнопке нужный файл считается и загрузится куда надо. При таком варианте вохможна дополнительная обработка даннык
Добавлено через 16 минут вот так создастся список файлов *.csv находящихся в папке FOLD, которая находится рядом с рабочим файлом:
или, что бы путь полный показывался:
1
|
|||||||||||
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||
| 26.08.2011, 10:44 | ||
|
1 вариант выпадающиего списка:
2 вариант выпадающего списка:
это элемент управления формы. Чтобы его сделать: вкладка Разработчик - группа Элементы управления - Вставить - Элементы управления формы - Поле со списком (Элемент управления формы) - щёлкаете на листе и растягиваете. 3 вариант выпадающего списка:
это элемент управления ActiveX. Чтобы его сделать: вкладка Разработчик - группа Элементы управления - Вставить - Элементы ActiveX - Поле со списком (Элемент ActiveX) - щёлкаете на листе.
0
|
||
|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
||||||||
| 26.08.2011, 14:20 [ТС] | ||||||||
|
Добавлено через 1 час 0 минут Хотя, на самом деле, не принципиально. подходит любой тип выпадающего списка, лишь бы работало. Добавлено через 5 минут Добавлено через 54 минуты Вот как выглядит код макроса авто записи моих действий
0
|
||||||||
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||
| 26.08.2011, 14:36 | ||
|
15 строка вашего кода:
вкладка Данные - группа Получение внешних данных - Из текста. В результате на листе появляются данные. Первоначально речь просто о создании подключения. Т.е. без разницы, как? Просто даже примеров нет в справке по VBA, как создать просто подключение без размещения данных на листе.
0
|
||
|
0 / 0 / 0
Регистрация: 25.08.2011
Сообщений: 7
|
||
| 26.08.2011, 15:15 [ТС] | ||
|
Процедура с подключением делается только один раз, и более не нужна. А вот потом, надо просто менять файл к которому подключаемся и сразу обновить данные. Добавлено через 9 минут то есть исходим из того, что подключение добавлять не надо, и создавать не надо. Надо менять файл подключения на файл который выбран в выпадающем списке. Прошу прощения, сначала не совсем точно изложил суть проблемы, поскольку поскольку сам путал: подключение, и фаил подключения. оказывается вещи разные.
0
|
||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||
| 26.08.2011, 21:09 | ||
Файл текстовой. Путь известен. Считываем одной строкой в переменную и работаем с ней. обрабатываем если надо и вываливаем на нужный лист в нужное место
0
|
||
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|
| 26.08.2011, 21:23 | |
|
jerja,
то, что вы хотите сделать, можно сделать с помощью самого Excel без VBA? Если можно, то опишите последовательность действий: вкладка такая-то, группа такая-то, кнопка такая-то.
0
|
|
| 26.08.2011, 21:23 | |
|
Помогаю со студенческими работами здесь
16
VBA в Excel 2010 Не доступен VBA из Excel 2010 Перенос данных между базами передача данных между базами Различия между базами данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|