Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 30.11.2022
Сообщений: 32

Перенос данных из нескольких файлов в один (на разные листы)

11.10.2023, 09:50. Показов 949. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите, пожалуйста, как прописать код, чтобы данные из нескольких файлов (при выборе через всплывающее окно), данные копировать в рабочий файл на определенные листы, в зависимости от наименования файла. При этом иногда нужно целый лист, иногда определенный диапазон/столбцы.
Например:
В рабочий файл на лист База при всплывающем окне (выборе файлов) в диапазон A:P (с 3 строки и до конца вниз) копируются данные из аналогичного диапазона (также с 3 строки) файла, в наименовании которого есть слово "База". (проблема еще в том, что еще есть пустые листы, или их можно игнорировать?)

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

Пока задание абстрактное, без конкретных примеров. Возможно, есть готовое решение, где останется поменять диапазон или наименование листа?
Или же все таки требуется более детальное описание?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2023, 09:50
Ответы с готовыми решениями:

Перенос данных из нескольких файлов excel в один
Как из множества файлов Excel перенести значения в одну сводную таблицу в отдельном файле? Суть в том, что людям рассылаются анкеты в...

VBA перенос данных из ячеек нескольких файлов в один новый
доброго времени суток, друзья! требуется собрать данные из нескольких одинаковых файлов (форма;книга1) в новую книгу в виде...

Перенос данных excel -excel на разные листы
Доброго времени суток. Возникла небольшая проблема: Переношу данные из книги в книгу, но в каждой книге по 3 листа, а данные...

7
8 / 6 / 4
Регистрация: 01.05.2023
Сообщений: 27
11.10.2023, 11:16
Drta2,
Цитата Сообщение от Drta2 Посмотреть сообщение
задание абстрактное
и
Цитата Сообщение от Drta2 Посмотреть сообщение
готовое решение
понятия несовместимые.
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
11.10.2023, 11:18
Drta2,
Возможна помощь, если прикрепить файлы и описать конкретно задачу.
0
1 / 1 / 0
Регистрация: 30.11.2022
Сообщений: 32
11.10.2023, 12:41  [ТС]
Narimanych,
Добрый день!
Подробное описание во вложении.
Не понял, как редактировать исходное сообщение и возможно ли это сделать?


Кто может помочь?
Вложения
Тип файла: xlsx Техническое задание.xlsx (12.4 Кб, 42 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
12631 / 5867 / 1503
Регистрация: 05.10.2016
Сообщений: 16,488
10.11.2023, 22:50
Цитата Сообщение от Drta2 Посмотреть сообщение
Кто может помочь?
С чем помочь?

Да, возни относительно много, но ничего такого уж сложного.
Всё чётко описано, осталось только в код перевести ...
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.11.2023, 23:39
Цитата Сообщение от Drta2 Посмотреть сообщение
Кто может помочь?
Боюсь, что помочь никто не сможет!
Нет конкретного вопроса!
Что не получается?
Цитата Сообщение от Drta2 Посмотреть сообщение
, как прописать код, чтобы данные из нескольких файлов (при выборе через всплывающее окно)
это один вопрос. Надо чтобы имелась возможность выбрать все файлы одновременно или выбирать файлл после обработки предыдущего?
Цитата Сообщение от Drta2 Посмотреть сообщение
иногда нужно целый лист, иногда определенный диапазон/столбцы.
Это макрос как-то должен определить или праВАНГОВАТЬ?
Цитата Сообщение от Drta2 Посмотреть сообщение
(проблема еще в том, что еще есть пустые листы, или их можно игнорировать?)
Тут точно без ванги не обойтись
ну или нужно конкретное ТЗ с другом разделе
0
1 / 1 / 0
Регистрация: 30.11.2022
Сообщений: 32
13.11.2023, 16:17  [ТС]
Alex77755,
но ранее есть вложенное описание, что и как нужно...
Надо чтобы имелась возможность выбрать все файлы одновременно или выбирать файлл после обработки предыдущего? << Да, нужно выбрать все файлы одновременно и чтобы макрос что нужно по названию файлов раскидал по листам отдельного файла...
Если требуется, чтобы листы назвались определенным образом и без этого никак не получится, то можно это как то произвольно указать) Или банально Лист1 и т.п....
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.11.2023, 23:22
выбрать несколько файов из одной папки с дальнейшей обработкой в зависимости от содержания слов в имени файла в общих чертах можно так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub ShowFileDialog()
    Dim oFD As FileDialog
    Dim x, lf As Long
    Dim wb As Workbook, wbi As Workbook
    Set wb = ActiveWorkbook
    'назначаем переменной ссылку на экземпляр диалога
    Set oFD = Application.FileDialog(msoFileDialogFilePicker)
    With oFD 'используем короткое обращение к объекту
        .AllowMultiSelect = True
        .Title = "Выбрать файлы отчетов" 'заголовок окна диалога
        .Filters.Clear 'очищаем установленные ранее типы файлов
        .Filters.Add "Excel files", "*.xls*;*.xla*", 1 'устанавливаем возможность выбора только файлов Excel
        .InitialFileName = "С:\Temp\Книга1.xlsx" 'назначаем папку отображения и имя файла по умолчанию
        .InitialView = msoFileDialogViewDetails 'вид диалогового окна(доступно 9 вариантов)
        If oFD.Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf) 'считываем полный путь к файлу
            Debug.Print x
            Set wbi = Workbooks.Open(x) 'открытие книги
            Select Case True
                Case InStr(1, x, "База", vbTextCompare)
                    'тут код обработки файла вмени которого есть "База" с переходом на нужный лист и пр.
                Case InStr(1, x, "ОСВ", vbTextCompare)
                    'тут код обработки файла вмени которого есть "ОСВ" с переходом на нужный лист и пр.
                Case InStr(1, x, "РЕПО", vbTextCompare)
                    'тут код обработки файла вмени которого есть "РЕПО" с переходом на нужный лист и пр.
                Case InStr(1, x, "ЛС", vbTextCompare)
                    'тут код обработки файла вмени которого есть "ЛС" с переходом на нужный лист и пр.
 
'                и тд
            End Select
        Next
    End With
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2023, 23:22
Помогаю со студенческими работами здесь

Перенос данных из нескольких документов в один через Конвертацию Данных
Может есть у кого примеры такого переноса? Сама задача: Есть много документов с табличной частью Источник. Нужно, чтобы все строки из...

Перенос данных из нескольких книг в один файл
Здравствуйте! Помогите исправить код. Мне нужно перенести данные из 4-х книг в один файл, но сводные данные с ограниченным количеством...

Перенос данных из нескольких Excel в один документ Word
Здравствуйте уважаемые! Помогите понять как сделать следующее... В ходе работы некоторой программы на диске С:\ поочередно создаются...

Перенос с нескольких листов на один сводный с разнесением данных
Добрый день! Нужна помощь по переносу данных на один лист с нескольких. Нужно, чтобы строчки шли по-очереди в зависимости от...

Положить два DataTable в один Excel на разные листы
Всем привет. Нужно при нажатие на кнопку. Положить два datatable в один excel. на разные листы. как это сделать? у меня почему-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru