Всем доброго времени суток, господа! Пришло время мне создавать темы и задавать вопросы!Попробовал написать макрос.Вот он[vba]
Код
Sub Макрос2() ' ' Макрос2 Макрос '
' Windows("план сентябрь-ноябрь 2015.xlsx").Activate Sheets("ПЛАН").Select Range("A1:CA214").Select Selection.Copy Windows("Закупки СЕНТЯБРЬ 2015.xlsm").Activate Sheets("ПЛАН").Select Range("A1").Select ActiveSheet.Paste End Sub
[/vba]вроде работает,но есть пара вопросов.Как сделать так, что бы он мог работать и с закрытой книгой "план сентябрь-ноябрь 2015.xlsx". И как сделать , что бы он срабатывал при открытии книги "Закупки СЕНТЯБРЬ 2015.xlsm" [p.s.]записано макрорекордером,малость подредактировано мной. и вдогонку:нажимаю исходный текст и не вижу макроса.где он?
Всем доброго времени суток, господа! Пришло время мне создавать темы и задавать вопросы!Попробовал написать макрос.Вот он[vba]
Код
Sub Макрос2() ' ' Макрос2 Макрос '
' Windows("план сентябрь-ноябрь 2015.xlsx").Activate Sheets("ПЛАН").Select Range("A1:CA214").Select Selection.Copy Windows("Закупки СЕНТЯБРЬ 2015.xlsm").Activate Sheets("ПЛАН").Select Range("A1").Select ActiveSheet.Paste End Sub
[/vba]вроде работает,но есть пара вопросов.Как сделать так, что бы он мог работать и с закрытой книгой "план сентябрь-ноябрь 2015.xlsx". И как сделать , что бы он срабатывал при открытии книги "Закупки СЕНТЯБРЬ 2015.xlsm" [p.s.]записано макрорекордером,малость подредактировано мной. и вдогонку:нажимаю исходный текст и не вижу макроса.где он?китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Сообщение отредактировал китин - Среда, 02.09.2015, 16:03
Исходный текст показывает макрос в коде листа. Ты пишешь макрорекодером в обычный модуль. Для отработки при открытии тебе нужно писать в модуль книги (см рисунок) Примерно вот так можно (основано на том, что формулы с прямыми ссылками работают с закрытыми книгами) [vba]
Код
Private Sub Workbook_Open() put_ = "C:\Мои\Стереть\[how_to_remove_l.xlsx]" list_ = "Лист1" Sheets("ПЛАН").Range("A1:CA214").FormulaR1C1 = "='" & put_ & list_ & "'!RC"'пишем в диапазон формулы типа ='C:\Мои\Стереть\[how_to_remove_l.xlsx]Лист1'!RC Sheets("ПЛАН").Range("A1:CA214") = Sheets("ПЛАН").Range("A1:CA214").Value'в диапазон вместо формулы вставляем значения End Sub
[/vba]
Исходный текст показывает макрос в коде листа. Ты пишешь макрорекодером в обычный модуль. Для отработки при открытии тебе нужно писать в модуль книги (см рисунок) Примерно вот так можно (основано на том, что формулы с прямыми ссылками работают с закрытыми книгами) [vba]
Код
Private Sub Workbook_Open() put_ = "C:\Мои\Стереть\[how_to_remove_l.xlsx]" list_ = "Лист1" Sheets("ПЛАН").Range("A1:CA214").FormulaR1C1 = "='" & put_ & list_ & "'!RC"'пишем в диапазон формулы типа ='C:\Мои\Стереть\[how_to_remove_l.xlsx]Лист1'!RC Sheets("ПЛАН").Range("A1:CA214") = Sheets("ПЛАН").Range("A1:CA214").Value'в диапазон вместо формулы вставляем значения End Sub
Саш не гони лошадей. .я туповат малость после недели подряд на работе. [vba]
Код
Private Sub Workbook_Open() put_ = "C:\Мои\Стереть\[how_to_remove_l.xlsx]" 'Это путь к моей книге ,откуда обновлять?или где обновлять? list_ = "Лист1" 'это мой лист "План" ? Sheets("ПЛАН").Range("A1:CA214").FormulaR1C1 = "='" & put_ & list_ & "'!RC" ' Sheets("ПЛАН").Range("A1:CA214") = Sheets("ПЛАН").Range("A1:CA214").Value'в диапазон вместо формулы вставляем значения End Sub
[/vba] а дальше?
Саш не гони лошадей. .я туповат малость после недели подряд на работе. [vba]
Код
Private Sub Workbook_Open() put_ = "C:\Мои\Стереть\[how_to_remove_l.xlsx]" 'Это путь к моей книге ,откуда обновлять?или где обновлять? list_ = "Лист1" 'это мой лист "План" ? Sheets("ПЛАН").Range("A1:CA214").FormulaR1C1 = "='" & put_ & list_ & "'!RC" ' Sheets("ПЛАН").Range("A1:CA214") = Sheets("ПЛАН").Range("A1:CA214").Value'в диапазон вместо формулы вставляем значения End Sub