Добрый день. Помогите, пожалуйста. Есть исходный файл и 75 файлов, куда необходимо скопировать определенные ячейки. Как можно это сделать не вручную? Заранее благодарю.
Добрый день. Помогите, пожалуйста. Есть исходный файл и 75 файлов, куда необходимо скопировать определенные ячейки. Как можно это сделать не вручную? Заранее благодарю.R_N_V
Добрый день. Если в макросах рубишь могу аналогичный показать как сделано у меня.
Страницы надо поменять и пути добавить к файлам так как у меня прописан путь к одному файлу. Ну и еще одно но. Естественно все 75 файлов в этот момент должны быть закрыты.
[vba]
Код
Sub Этикетки_Развесы() Dim bookconst As Workbook Dim abook As Workbook Set abook = ActiveWorkbook 'присваиваем перменную активной книге Set bookconst = Workbooks.Open("\\server\ОБЩИЕ_ДОКУМЕНТЫ\ЭтикеткиРазвесы.xlsm") 'присваиваем перменную книге куда необходимо копировать данные
'переходим в активную книгу откуда необходимо скопировать данные abook.Worksheets("Заявки").Activate Range("A2:AR296").Copy 'копируем определенный диапазон листа, укажите свой диапазон bookconst.Worksheets("Заявки").Activate 'активируем лист куда необходимо вставить данные Range("A2:AR296").Select 'встаем на ячейку А2 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляем только форматы ячеек 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False 'второй лист abook.Worksheets("Рейсы Вторник").Activate Range("A1:T220").Copy bookconst.Worksheets("Рейсы Вторник").Activate Range("A1:T220").Select 'выделяем диапазон Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляем только форматы ячеек 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False 'третий лист abook.Worksheets("РепаБр").Activate Range("H3:Q56").Copy bookconst.Worksheets("РепаБр").Activate Range("H3:Q56").Select 'выделяем диапазон Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляем только форматы ячеек 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False 'сохранить текущую книгу ' bookconst.Save 'abook.Worksheets("Весь Зак").Activate 'Закрыть книгу bookconst.Worksheets("Ко-Во Развесов").Activate End Sub
[/vba]
Добрый день. Если в макросах рубишь могу аналогичный показать как сделано у меня.
Страницы надо поменять и пути добавить к файлам так как у меня прописан путь к одному файлу. Ну и еще одно но. Естественно все 75 файлов в этот момент должны быть закрыты.
[vba]
Код
Sub Этикетки_Развесы() Dim bookconst As Workbook Dim abook As Workbook Set abook = ActiveWorkbook 'присваиваем перменную активной книге Set bookconst = Workbooks.Open("\\server\ОБЩИЕ_ДОКУМЕНТЫ\ЭтикеткиРазвесы.xlsm") 'присваиваем перменную книге куда необходимо копировать данные
'переходим в активную книгу откуда необходимо скопировать данные abook.Worksheets("Заявки").Activate Range("A2:AR296").Copy 'копируем определенный диапазон листа, укажите свой диапазон bookconst.Worksheets("Заявки").Activate 'активируем лист куда необходимо вставить данные Range("A2:AR296").Select 'встаем на ячейку А2 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляем только форматы ячеек 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False 'второй лист abook.Worksheets("Рейсы Вторник").Activate Range("A1:T220").Copy bookconst.Worksheets("Рейсы Вторник").Activate Range("A1:T220").Select 'выделяем диапазон Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляем только форматы ячеек 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False 'третий лист abook.Worksheets("РепаБр").Activate Range("H3:Q56").Copy bookconst.Worksheets("РепаБр").Activate Range("H3:Q56").Select 'выделяем диапазон Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляем только форматы ячеек 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False 'сохранить текущую книгу ' bookconst.Save 'abook.Worksheets("Весь Зак").Activate 'Закрыть книгу bookconst.Worksheets("Ко-Во Развесов").Activate End Sub
Макросом. Делаете так - включаете запись макроса, копируете как Вам нужно ячейки в пару файлов, выключаете запись макроса. Редактируете (вручную!) полученный код, чтоб обрабатывались все нужные файлы.
Макросом. Делаете так - включаете запись макроса, копируете как Вам нужно ячейки в пару файлов, выключаете запись макроса. Редактируете (вручную!) полученный код, чтоб обрабатывались все нужные файлы.Hugo
R_N_V, насколько я понимаю без макроса вы другой файл не откроете автоматом. Ну и надоест копировать данные по 75 файлам дойдете до макросов)
R_N_V, насколько я понимаю без макроса вы другой файл не откроете автоматом. Ну и надоест копировать данные по 75 файлам дойдете до макросов)koyaanisqatsi
Hugo, Работает долго но корректно. К сожалению я сам не знаю языка программирования и заинтересовать нечем людей кто знает. Так что катимся как едет. Благо можем себе это позволить. А так да вполне возможно код не оптимален.
Hugo, Работает долго но корректно. К сожалению я сам не знаю языка программирования и заинтересовать нечем людей кто знает. Так что катимся как едет. Благо можем себе это позволить. А так да вполне возможно код не оптимален.koyaanisqatsi
а еще такой вопрос. в этом сводном файле, откуда данные скопированы в 75 файлах, при изменении данных не обновляет ссылку на эти файлы. это можно как-то настроить?
а еще такой вопрос. в этом сводном файле, откуда данные скопированы в 75 файлах, при изменении данных не обновляет ссылку на эти файлы. это можно как-то настроить?R_N_V
при изменении данных не обновляет ссылку на эти файлы
- может мало платите? Или наймите другого, пусть другой обновляет. А если серьёзно - вот вообще ничего из вышенаписанного не понял... кроме первой строки
при изменении данных не обновляет ссылку на эти файлы
- может мало платите? Или наймите другого, пусть другой обновляет. А если серьёзно - вот вообще ничего из вышенаписанного не понял... кроме первой строки Hugo
Hugo, попробую по-другому объяснить)) есть сводный файл, куда подтягиваются расчетные данные из 75 файлов. В свою очередь в этих файлах данные рассчитываются на основании информации, которая находится в сводном файле. По идее, при изменении этой информации данные в 75 файлах и в самом сводном файле должны пересчитываться. но они этого не делают, если файлы закрыты. Вопрос: можно ли так настроить сводный файл, чтобы независимо от того открыты расчетные файлы (75) или нет, данные пересчитывались?
Hugo, попробую по-другому объяснить)) есть сводный файл, куда подтягиваются расчетные данные из 75 файлов. В свою очередь в этих файлах данные рассчитываются на основании информации, которая находится в сводном файле. По идее, при изменении этой информации данные в 75 файлах и в самом сводном файле должны пересчитываться. но они этого не делают, если файлы закрыты. Вопрос: можно ли так настроить сводный файл, чтобы независимо от того открыты расчетные файлы (75) или нет, данные пересчитывались?R_N_V