![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
![]()
Люди, help me, жалкому юзеру :-)
У меня стоит задача: есть рабочий файл Excel, в него - нужно из другого файла Excel на диске, уже с известным именем, с копировать со вкладки с известным заранее именем, некий диапазон данных. ВОПРОС: Какой командой (функцией) можно обратиться к стороннему файлу (по адресу) к нужной вкладке к нужному диапазону данных? Т.е. как будет выглядеть команда копирования из одного файла - в другой? |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 30.07.2008
Сообщений: 125
|
![]()
Set Wb = Application.Workbooks.Open("Путь к файлу") - открыть указанный файл
Workbooks(Wb).Worksheet("Имя листа").Range("Диапозон").Copy - копировать диапозон из открытого файла ThisWorkbook.Sheets(1).Range("A1"). Paste вставляет в твою книгу первый лист |
![]() |
![]() |
#3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
1) Укажите полный путь (это типа C:\Documents and Settings\Игорь\Рабочий стол\договор.xls) для обоих файлов
2) укажите, какой диапазон (например, E4:G66) с какого листа (надо знать имя листа, например, Лист1) надо копировать. 3) то же самое для диапазона, в который надо произвести вставку. Так же надо знать, на момент копирования будет открыта только одна книга, или обе. Можно и без копирования - вставить связь с другой книгой. |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
![]() |
![]() |
![]() |
#6 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Цитата:
Так будет намного проще. Цитата:
Неужто ячеек недостаточно?
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 04.02.2009 в 12:42. |
|||
![]() |
![]() |
#7 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
![]()
Помогите Пожалуйста! Зашиваюсь нимагу(
и с поиском у меня отношения не сложились. если бы я могла самостоятельно разобрать чужой код, я бы о помощи не просила) Вы не могли бы посмотреть, то что у меня получилось и помочь продолжить? ибо в одиночку получается ну ооочень медленно. Задача собственно такая: скопировать из кучи файлов определенный диапазон с определенного листа (может быть его определять через диалог?) и вставить в открытый файл. Sub a1() Dim path, files As String path = InputBox("Enter path", "Path", CurDir) files = Dir(path & "\" & "*.xls") Dim massivFiles() Do While files <> "" x = x + 1 ReDim Preserve massivFiles(1, x) massivFiles(1, x) = path + "\" + files files = Dir() Loop If x = 0 Then MsgBox ("Files are not found") Exit Sub Else здесь по идее должен быть модуль про копирвоание из файлов. я не могу подобрать скрипт. знакома с ВБА первую неделю. повторюсь: помогите спасите умираю. |
![]() |
![]() |
#8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Может, подойдёт что-то вроде этого:
Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 04.02.2009 в 13:12. |
![]() |
![]() |
#9 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Если же для работы требуется указать несколько избранных файлов из папки, то можно, например, так:
Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
#10 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
![]()
Редактор ВБА выбает ошибку вот в этой строчке
Wb.Worksheets("Лист1").Range("a2:e5 ").Copy ThisWorkbook.Worksheets(1).Range("A 1") грит что subscript out of range. К слову сказать на работе стоит 2000 офис и тут многие команды просто не поддерживаются. например та, которую привел ниже SAS888, с диалогом мульти выбора. |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как алгоритм перевести в код VBA | valerij | Microsoft Office Excel | 18 | 29.05.2008 01:32 |