Помогите, пожалуйста, с задачей: Надо написать скрипт VBA, который загрузит все данные из файла "Договоры(выгрузка).xlsx" и разложит по таблицам "Договоры" и "Залоги"
Более детальное описание задачи:
1. В файле Excel с двумя вкладками ("Договоры" и "Залоги") при запуске скрипта вызывается окно для выбора файла (на локальном или сетевом диске). 2. Выбирается файл ( в нашем случае - Договоры(выгрузка).xlsx) 3. Скрипт загружает файл "Договоры(выгрузка).xlsx", затирает предыдущие данные на обеих вкладках, если они есть, и представляет загруженные данные в виде двух таблиц на двух разных вкладках "Договоры" и "Залоги", как представлено в файле "Результат".
а как должен выглядеть конечный результат исходя из вашего файла? Обычно кто хочет получить помощь показывают конечный результат либо рядом на листе, либо на соседнем.
)) по вашему изменённому файлу (по листу Результат), я так понял, что надо просто добавить пустой столбец H (пустой столбец между столбцами Дата закрытия договора и ID Залога 1). По моему, это единственное отличие листа Договор и Результат. Вы какой-то не многословный, вам не кажется? Какое отличие данных на листе Договор и на листе Результат, кроме того, что добавлен пустой столбец H ? Может я в 3 часа ночи что-то пропустил? Можно поподробнее вашу задачу описать?
P.S. Вы видите, что просмотров вашей темы почти 90 раз, а ответов вообще нет. Значит люди не понимают, что вы хотите сделать, читают ваше сообщение, смотрят ваш файл, ничего не понятно и идут мимо. А там где понятно, в соседних темах - там отвечают, помогают. Я тоже очень хочу вам помочь, но пока не понимаю как...
Код для вставки пустого столбца в столбец H будет такой
Если вдруг имеется в виду обычное копирование из одной книги в другую, то вот
Код
Sub Macro1()
Dim f As Variant, PWb As Workbook
f = Application.GetOpenFilename
If f = False Then Exit Sub
Set PWb = Workbooks.Add
With Workbooks.Open(f, ReadOnly:=True).Worksheets(1)
Intersect(.UsedRange, .Columns("A:G")).Copy
PWb.Worksheets(1).Paste
Intersect(.UsedRange, .Columns("H:K")).Copy
PWb.Worksheets.Add.Paste
End With
' PWb.Worksheets(1).UsedRange.EntireColumn.AutoFit
' PWb.Worksheets(2).UsedRange.EntireColumn.AutoFit
End Sub
Согласен, описание поверхностное. Постараюсь детальней: 1. В файле Excel с двумя вкладками ("Договоры" и "Залоги") при запуске скрипта вызывается окно для выбора файла (на локальном или сетевом диске). 2. Выбирается файл ( в нашем случае - Договоры(выгрузка).xlsx) 3. Скрипт загружает файл "Договоры(выгрузка).xlsx", затирает предыдущие данные на обеих вкладках, если они есть, и представляет загруженные данные в виде двух таблиц на двух разных вкладках "Договоры" и "Залоги", как представлено в файле "Результат".
Прикладываю обновленные файлы с исходными данными и результатом.
файл не пустой в нем как минимум видимо есть макрос (его нужно написать, но лежать он будет именно в этом файле) в файле УЖЕ есть 2 закладки (листа) Договора и Залоги в этих закладках могут быть результаты предыдущей работы макроса, что с ними делать? все что я написал выше это только мои догадки, а не ваше строгое описание задачи сценариев может быть много, разных, но тот который вам нужен, нужно описать желательно полностью и коротко.
и нужно описание что из выбранного файла и куда должно попасть понимаете, описание задачи - это когда прочитав описание другой человек может просто сесть и начинать писать макрос на основании вашего описания можно только сесть и задумчиво почесать репу, правда можно написать единственную процедуру - выбрать файл с данными. все остальное - это вопросы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!