|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
04.02.2009, 12:07 | #1 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
Помогите перевести на VBA
Люди, help me, жалкому юзеру :-)
У меня стоит задача: есть рабочий файл Excel, в него - нужно из другого файла Excel на диске, уже с известным именем, с копировать со вкладки с известным заранее именем, некий диапазон данных. ВОПРОС: Какой командой (функцией) можно обратиться к стороннему файлу (по адресу) к нужной вкладке к нужному диапазону данных? Т.е. как будет выглядеть команда копирования из одного файла - в другой? |
04.02.2009, 12:26 | #2 |
Форумчанин
Регистрация: 30.07.2008
Сообщений: 125
|
Set Wb = Application.Workbooks.Open("Путь к файлу") - открыть указанный файл
Workbooks(Wb).Worksheet("Имя листа").Range("Диапозон").Copy - копировать диапозон из открытого файла ThisWorkbook.Sheets(1).Range("A1"). Paste вставляет в твою книгу первый лист |
04.02.2009, 12:28 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
1) Укажите полный путь (это типа C:\Documents and Settings\Игорь\Рабочий стол\договор.xls) для обоих файлов
2) укажите, какой диапазон (например, E4:G66) с какого листа (надо знать имя листа, например, Лист1) надо копировать. 3) то же самое для диапазона, в который надо произвести вставку. Так же надо знать, на момент копирования будет открыта только одна книга, или обе. Можно и без копирования - вставить связь с другой книгой. |
04.02.2009, 12:35 | #4 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
|
04.02.2009, 12:37 | #5 |
Пользователь
Регистрация: 28.01.2009
Сообщений: 12
|
|
04.02.2009, 12:40 | #6 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
Так будет намного проще. Цитата:
Неужто ячеек недостаточно?
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 04.02.2009 в 12:42. |
|||
04.02.2009, 12:49 | #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 здесь по идее должен быть модуль про копирвоание из файлов. я не могу подобрать скрипт. знакома с ВБА первую неделю. повторюсь: помогите спасите умираю. |
04.02.2009, 13:10 | #8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Может, подойдёт что-то вроде этого:
Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 04.02.2009 в 13:12. |
04.02.2009, 13:13 | #9 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если же для работы требуется указать несколько избранных файлов из папки, то можно, например, так:
Код:
Чем шире угол зрения, тем он тупее.
|
04.02.2009, 13:24 | #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 |