![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
Я не понимаю.... Помогите, пожалуйста!
У меня Excel 2003 Написала простейшую программу(для проверки, что удалось ли обратиться к нужному файлу) Dim f As String, f1 As String, shtname As String f = ThisWorkbook.Name f1 = "C:\ФФФ.xls" Workbooks(f).Worksheets("Лист1").Ra nge("M4").Value = Workbooks(f).Name ' это работает Workbooks(f).Worksheets("Лист1").Ra nge("M4").Value = Workbooks(f1).Name ' а это нет Пишет, что Workbooks(f1).Name = <Subscript out of range> Что делать??? |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]() Код:
|
![]() |
![]() |
#3 |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
Спасибо огромнейшее, Pashulka!
Все работает (после того, как вписала iFileName$ = Dir(iFileName$)) У меня возникли еще вопросы... ![]() А можно ли обращаться в текущей книге к закрытой рабочей книге? (вообще-то, передо мной стоит именно такая задача) И еще вот: For Each cell In ThisWorkbook.Worksheets(1).Range("d ata") cell.Value = Workbooks(iFileName$).Worksheets1). Range(cell).Value Next cell Насколько это выражение дико, потому что оно не работает. Имя "data" я присвоила области данных листа 1. |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
По поводу второго вопроса:
celladdress = ThisWorkbook.Worksheets(1).Range("d ata").Address ThisWorkbook.Worksheets(1).Range("d ata").Value = Workbooks(iFileName$).Worksheets(1) .Range(celladdress).Value Это работает! Но вопрос по поводу работы с закрытой книгой остается. Ответьте, пожалуйста. |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
Если рабочая книга с именем iFileName открыта, а "data" это или именованный диапазон см.яч. или формула, которая возвращает ссылку на диапазон смежных ячеек, то количество обращений можно немного сократить, например
Код:
Код:
Предположим, что файл "C:\ФФФ.xls" существует, содержит лист с именем "Рейтинг 2007", а диапазон "A1:A10" содержит некие данные Код:
|
![]() |
![]() |
#6 |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
Pashulka, от всей души благодарю Вас за помощь.
Буду реализовывать 3-й вариант. Если что, ждите еще вопросов... ![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
Ох, Pashulka, не совсем все просто у меня...
Сначала я вставляю в ячейку path1 путь к рабочему файлу (iFullName$) Dim Isect As Range Set Isect = Application.Intersect(Range("path1" ), ActiveCell) If Isect Is Nothing Then 'MsgBox "Ranges do not intersect" Else ActiveCell.Value = Application.GetOpenFilename("Excel Files (*.xls),*.xls") Cancel = True End If Потом: iFullName$ = Range("path1").Value И, наконец, мне надо использовать этот путь при реализации обращения к рабочему файлу, не открывая его: Цитата:
Реально ли это? |
|
![]() |
![]() |
#8 |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
Просто в Delphi, насколько я помню, можно было сделать что-то типа:
With ThisWorkbook.Worksheets(1).Range("B 10:B19") .Formula = "='",iFullName$,"Продажи 2007'!A1" |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
Предположим, что Вы используете следующее событие рабочего листа ...
Код:
Последний раз редактировалось pashulka; 11.09.2007 в 16:51. |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 07.09.2007
Сообщений: 17
|
![]()
Гениально!!!
Паша,спасибо!!! |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
использование компонента TreeWiev другой формы | White | Общие вопросы Delphi | 2 | 29.08.2008 10:25 |
Использование компонентов в другой форме | White | БД в Delphi | 3 | 27.08.2008 13:32 |
Импорт данных из другой книги | AntonFox | Microsoft Office Excel | 8 | 18.08.2008 17:17 |
Как запустить макрос при изменении другой книги Excel? | Град | Microsoft Office Excel | 12 | 10.06.2008 10:01 |