Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 22:24:00

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Макрос для открытия файлов
Страниц: [1]   Вниз
Печать
Автор Тема: Макрос для открытия файлов  (Прочитано 2806 раз)
0 Пользователей и 1 Гость смотрят эту тему.
GLA15
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 3


Просмотр профиля E-mail
« : 02.04.2021, 17:08:01 »

Здравствуйте! Необходимо реализовать макрос, который позволит поочередно открывать файлы и копировать из них информацию в общий файл. Прикрепил фрагмент кода, который отвечает за данную операцию. Проблема в том, что после выбора файла в появляющемся диалоговом окне данный файл не открывается. Очень прошу помочь в решении данного вопроса.

Код: (vb)
12 MsgBox "Выберите файл замера формата .VXLOG" 'Вывод диалогового окна для указания пути к файлам замеров формата .VXLOG

With Application.FileDialog(msoFileDialogFilePicker) 'Выбор пути к файлам замеров
If .Show = False Then GoTo 3 'переход к следующей операции
FileItem1 = .SelectedItems(1)
End With

FileItem1.Open
Windows(FileItem1).Activate

ActiveCell.SpecialCells(xlLastCell).Select 'Переход на последнюю ячейку таблицы в открытом файле замеров
x2 = ActiveCell.Row 'Вывод номера активной последней строки в открытом файле замеров
Rows("15:" & x2).Select 'Копирование строк с 15 (первая строка с информацией о замерах) по последнюю
Selection.Copy
Windows(NameFileObj).Activate 'Переход в "Общий файл"
Rows(r).Select
Selection.Insert Shift:=xlDown
r = Range("A65536").End(xlUp).Row + 1 'Определение новой после вставки первой пустой строки в "Общем файле"
' FileItem1.Close 0
GoTo 12
« Последнее редактирование: 02.04.2021, 17:57:51 от vikttur » Записан
Marat Ta
Пользователь
**

Репутация: +3/-0
Офлайн Офлайн

Сообщений: 72


Просмотр профиля E-mail
« Ответ #1 : 02.04.2021, 18:12:40 »

Сделал вам заготовку по FileDialog с обьяснениями, исправьте для вашей задачи. Шаблон "*.xls*"  замените на ваш.
То что и куда копировать смотреть не стал, т.к. вопрос только об открытии всех файлов.

Единственное замечание,  Set CommonSht=ActiveSheet и в дальнейшем используйте CommonSht
Активировать лист каждый раз не нужно для копирования и вставки.
« Последнее редактирование: 02.04.2021, 18:29:43 от Marat Ta » Записан
Marat Ta
Пользователь
**

Репутация: +3/-0
Офлайн Офлайн

Сообщений: 72


Просмотр профиля E-mail
« Ответ #2 : 02.04.2021, 19:19:06 »

Подробно здесь: https://www.excel-vba.ru/chto-umeet-excel/kak-sobrat-dannye-s-neskolkix-listov-ili-knig
Записан
GLA15
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 3


Просмотр профиля E-mail
« Ответ #3 : 05.04.2021, 19:01:02 »


Спасибо большое за ответ! Подскажите, пожалуйста, как подправить код так, чтобы была возможность выбора порядка открытия файлов (на каждое диалоговое окно выбора файла только 1 файл, и так до того момента, пока не отменю операцию)?
« Последнее редактирование: 05.04.2021, 23:17:48 от vikttur » Записан
Marat Ta
Пользователь
**

Репутация: +3/-0
Офлайн Офлайн

Сообщений: 72


Просмотр профиля E-mail
« Ответ #4 : 05.04.2021, 21:01:23 »

Прикрепите файл пример.

Вместо: FileItem1.Open
нужно: Workbooks.Open(FileItem1)

Все в заготовке шаблона написано, смотрите внимательно.
« Последнее редактирование: 05.04.2021, 21:17:22 от Marat Ta » Записан
GLA15
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 3


Просмотр профиля E-mail
« Ответ #5 : 05.04.2021, 21:10:52 »

Прикрепите файл пример.


Необходимо копировать информацию из каждого файла в "Общий файл". Посмотрите, пожалуйста, буду очень признателен!
Записан
Marat Ta
Пользователь
**

Репутация: +3/-0
Офлайн Офлайн

Сообщений: 72


Просмотр профиля E-mail
« Ответ #6 : 06.04.2021, 09:34:29 »

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

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97392
« Последнее редактирование: 06.04.2021, 10:28:56 от Marat Ta » Записан
Marat Ta
Пользователь
**

Репутация: +3/-0
Офлайн Офлайн

Сообщений: 72


Просмотр профиля E-mail
« Ответ #7 : 06.04.2021, 13:16:41 »

Как то так... по 1 части.
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru