Страница 1 из 1

данные из одного файла в другой (VB Excel)

Добавлено: 02 авг 2008, 22:03
russian imigration
предположим, у меня есть 2 файла 1.xls и 2.xls, и мне надо из первого с листа "Лист1" ячейки (1,1) перенести значение во второй туда же
как это прописать в макросе второго файла?
как в "Worksheets(Лист1).Cells(1, 1) = Worksheets(Лист1).Cells(1, 1)" добавить и сами файлы?


просто ссылкой не катит, тк теоретически надо переносить сотни (если не тысячи) данных, с поисками и тп...

заранее спасибо

Re: данные из одного файла в другой (VB Excel)

Добавлено: 03 авг 2008, 00:31
Teslenko_EA
Здравствуйте russian imigration.
"Предположим" я догадался, что Ваш пост является вопросом, но совсем не понятно к кому он обращен, и кому Вы "заранее" благодарны. :(

Евгений.
P.S. да, и по существу вопроса :)
http://woodash.ifolder.ru/3765138
DataFromTable.rar 15.23 кб

Re: данные из одного файла в другой (VB Excel)

Добавлено: 06 апр 2009, 16:11
russian imigration
что-то никак не получается, а файл, что выложил Тесленко не открывается
значит так:
у меня макрос ВБ в одном экселевском документе, ему надо прочитать ячейки из другого экселевского документа
создал переменную FileToOpen с полным путем на второй файл (для чтения). проверил, переменная равна
F:\calc 0.3\шаблон РТМ русифицированный.xls

в коде пишу

Код: Выделить всё

Dim str As String 
str = Workbooks(FileToOpen).Sheets(1).Cells(3, 10)
мне на это дело выдает "Subscript out of range"
подскажите, пожалуйста, как правильно написать

Re: данные из одного файла в другой (VB Excel)

Добавлено: 07 апр 2009, 00:46
Teslenko_EA
Здравствуйте russian imigration.
1. Что значит "...файл ...не открывается...", невозможно открыть архив или не подключается надстройка?
2. "создал переменную ... проверил, переменная равна ... " - а объект (файл), адрес которого содержит переменная, открывался ?
С помощью кода приведенного ниже, можно выполнить Вашу задачу

Код: Выделить всё

Sub readFile()
Dim oXL As Workbook
Dim FileToOpen As String, sStr As String 
' не стоит задавать переменной имя [B]str[/B], т.к. в VB существует функция с таким именем
FileToOpen = "F:\calc 0.3\шаблон РТМ русифицированный.xls"
Set oXL = Workbooks.Open(FileToOpen) ' !!! открывается файл
'............
 sStr = oXL.Sheets(1).Cells(1, 1)
'............
oXL.Close   ' объект закрывается 
Set oXL = Nothing ' освобождается память использовавшаяся объектом 
End Sub

Евгений.
P.S. "подскажите, пожалуйста..." - это обращение снова адресовано "никому", :( если Вы не знаете к кому обращаться - просто здоровайтесь, это тоже будет правильно.

Re: данные из одного файла в другой (VB Excel)

Добавлено: 07 апр 2009, 08:15
mc-black

Код: Выделить всё

Dim strFileToOpen
Dim wrkBook As Workbook
strFile = "C:\SomeDirectory\1.xls"
Set wrkBook = Workbooks.Open(strFile)

' Переносим Значение из 1.xls в текущую книгу (с макросом)
ThisWorkBook.Worksheets("Лист1").Cells(1,1).Value = _
                wrkBook.Worksheets("Лист1").Cells(1,1).Value

wrkBook.Close
Set wrkBook = Nothing

Re: данные из одного файла в другой (VB Excel)

Добавлено: 07 апр 2009, 13:12
russian imigration
Teslenko_EA писал(а):Здравствуйте russian imigration.
1. Что значит "...файл ...не открывается...", невозможно открыть архив или не подключается надстройка?
2. "создал переменную ... проверил, переменная равна ... " - а объект (файл), адрес которого содержит переменная, открывался ?
Добрый день, Евгений Teslenko_EA
Спасибо за ответ.
1. теперь все открывается. раньше писало, что файл по данному адресу не найден, то есть не удавалось скачать его.
2. нет, сам файл оставался закрытым. обязательно ли надо его открывать, чтобы прочитать из него данные? от постоянно требует обновлений данных, что не очень удобно (но, в принципе, с этим можно смириться)

Насчет переменной str я понял еще вчера во время попыток отладки. Что-то задумался и создал такую, а потом, увидев у себя код типа "str = str(ячейка в экселе)", сам удивился, как такое написал

ЗЫ. Еще раз спасибо, что подсказываете, в том числе и как общаться. По ходу у меня с этим проблемы :( Не обращаясь ни к кому конкретно, я подразумевал, что ответит тот, кто будет знать ответ...

mc-black, спасибо за ответ, но, в принципе, Ваш код совпал с кодом Teslenko_EA :)

Re: данные из одного файла в другой (VB Excel)

Добавлено: 07 апр 2009, 13:45
mc-black
в принципе, Ваш код совпал с кодом Teslenko_EA
Принципиально - согласен, что совпал. Я фактически повторил его код с той только маленькой разницей, что его последний пример НИЧЕГО не должен был сделать, просто присвоил бы значение переменной и на этом все.