VBA-Excel - нужна помощь

poltavka

New member
Joined
Feb 27, 2007
Messages
3
Reaction score
0
Location
Киев
Sub r ()

ThisWorkbook.Worksheets("Лист1").Cells(i,n).Value

End Sub


Подскажите пожалуйста!
а как обратиться к другому екселевскому файлу? (чтобы не копировать листы в эту книгу)
ну и используя банально только макросы. Просто данные хранятся в разных файлах.

Workbook("file2.xls").Worksheets("Лист1").Cells(t,p).Value - не катит

:(
 
Last edited by a moderator:

IIIEII

New member
Joined
Mar 21, 2006
Messages
2
Reaction score
2
Age
38
Location
Москва
А, все просто, ты забыл одну единственную букву!
не Workbook("file2.xls").Worksheets("Лист1").Cells(t,p).Value
а Workbooks("file2.xls").Worksheets("Лист1").Cells(t,p).Value
 

a.n.onim

Member
Joined
Oct 26, 2004
Messages
98
Reaction score
13
А, все просто, ты забыл одну единственную букву!
не Workbook("file2.xls").Worksheets("Лист1").Cells(t,p).Value
а Workbooks("file2.xls").Worksheets("Лист1").Cells(t,p).Value

С учетом того, что файл "file2.xls" открыт в Excel.

Если не открыт, сначала надо выполнить Workbooks.Open ("?:\?????\File2.xls"), при этом содержимое файла "file2.xls" отобразится на экране.

Можно выполнить открытие файла в неявной форме через переменную типа Object. Если интересует - напиши.
 

IIIEII

New member
Joined
Mar 21, 2006
Messages
2
Reaction score
2
Age
38
Location
Москва
С учетом того, что файл "file2.xls" открыт в Excel.

Если не открыт, сначала надо выполнить Workbooks.Open ("?:\?????\File2.xls"), при этом содержимое файла "file2.xls" отобразится на экране.
Точно, я об этом не подумал.

Чтоб неявно открыть можно примерно вот так:
Set xl = CreateObject("Excel.Application")
xl.Workbooks.Open "file2.xls"

и дальше соответственно работать с xl.Workbooks("file2.xls")
 
Last edited by a moderator:

poltavka

New member
Joined
Feb 27, 2007
Messages
3
Reaction score
0
Location
Киев
Спасибо всем!
а у меня получилось уже через:

Windows("file2.xls").SelectedSheets("Лист1").Cells(n, t).Value

понимаю, что коряво - но сработало...
:)
 

poltavka

New member
Joined
Feb 27, 2007
Messages
3
Reaction score
0
Location
Киев
Существует ли "шаг назад" после работы макроса?

Вопрос:
иногда после выполнения макроса (F5) нужно вернуть данные, которые изменились после выполнения макроса
как это сделать?
стрелочка "назад" не работает, CTRL+Z тоже не работает...
 

a.n.onim

Member
Joined
Oct 26, 2004
Messages
98
Reaction score
13
Шага назад при выполнении макроса, к сожалению, не существует. Можно реализовать сохранение файла при запуске макроса, затем макрос произведет все изменения. Если они не устраивают - выйти без сохранения. (Если я не прав по поводу сохранения - буду очень признателен за опровержение)
 

ploki

Member
Joined
May 16, 2005
Messages
237
Reaction score
180
Location
Москва
to a.n.onim

Вы правы. Более того, и остальные действия отменить может не получиться: macros can clear all items from the undo list. Что интересно, команда Repeat для макросов работает.

Но есть замечательный метод SaveCopyAs. Например:
Code:
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "TmpCopy_" & ActiveWorkbook.Name

Помогает. Одобрено лучшими собаководами.
 
Top