Макрос, который тянет информацию из другого файла

Автор shake22, 21.07.2014, 20:05

« назад - далее »

shake22

Добрый день!

Подскажите, плиз, как написать макрос, который будет находиться в одном файле, а инфу тянуть из другого:
1. В исходнике(1ый файл) несколько столбцов (10), мне нужна информация в 3х из них
2. В конечном файле(2ой файл) 3 столбца с такими же названиями
3. Нужно что бы при нажатии макрос обновлял(не добавлял) конечный файл данными из 1го, желательно даже не открывая его.
4. ссылки и обновить связи, ВПР не подходят, т.к. кол-во строк будет всегда меняться, ссылки виде "0" или неверных значений не нужны, нужен чистый файл без ссылок.
5. Есть вот такой вот кусок макроса, возможно неправильный и обрубленный:
Sub Кнопка2 Щелкнуть ()

'CORP budget

      Workbooks.Open Filename:= _

        "\\file-server\Fin_Analisys\BUDGET\2013\Q3-Q4\Sales division\Corp\YR-CORP-Expenses Budget-2013_Q3-Q4update.xls", _

        UpdateLinks:=0

    Sheets("Budget_2011 (EURO)").Select

    Range("A1:R227").Select

    Selection.Copy

    Windows("Budget 2013.xls").Activate

    Sheets("CORP").Select

    Cells.Select

    Range("B1").Activate

    ActiveSheet.Paste

    Application.CutCopyMode = False

    Selection.Copy

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

        :=False, Transpose:=False

        Windows("YR-CORP-Expenses Budget-2013_Q3-Q4update.xls").Activate

              Windows("YR-CORP-Expenses Budget-2013_Q3-Q4update.xls").Close

Помогите, пожалуйста!!! :)

RAN

Вместо того, чтобы писать здесь и здесь http://www.sql.ru/forum/ms-office, можно было бы прочитать правила (хоть где) и получить ответ.
Привет макросу  :P

vikttur


shake22

Макрос, кому интересно:
Цитировать
Sub Sbor()
Dim a As Workbook, b As Workbook, p As Long, q As Long
Set a = ThisWorkbook
p = a.Sheets("1").Cells(Rows.Count, "B").End(xlUp).Row
a.Sheets("1").Range("B5:B" & CStr(p) & "").ClearContents
p = a.Sheets("1").Cells(Rows.Count, "E").End(xlUp).Row
a.Sheets("1").Range("E5:E" & CStr(p) & "").ClearContents
p = a.Sheets("1").Cells(Rows.Count, "F").End(xlUp).Row
a.Sheets("1").Range("F5:F" & CStr(p) & "").ClearContents
Set b = Workbooks.Open(Filename:="D:\222.xls", UpdateLinks:=0)
q = b.Sheets("1").Cells(Rows.Count, "A").End(xlUp).Row
b.Sheets("1").Range("A5:A" & CStr(q) & "").Copy
a.Sheets("1").Range("B5").PasteSpecial Paste:=xlPasteValues
q = b.Sheets("1").Cells(Rows.Count, "D").End(xlUp).Row
b.Sheets("1").Range("D5:D" & CStr(q) & "").Copy
a.Sheets("1").Range("E5").PasteSpecial Paste:=xlPasteValues
q = b.Sheets("1").Cells(Rows.Count, "E").End(xlUp).Row
b.Sheets("1").Range("E5:E" & CStr(q) & "").Copy
a.Sheets("1").Range("F5").PasteSpecial Paste:=xlPasteValues
b.Close savechanges:=False
End Sub

Sergiо

Добрый день!
Пробовал решить с помощью описанного макроса свою задачу. Не получается.
Поэтому прошу тупому помочь решить задачу.
Условия такие: Есть главный файл «Отчет» в котором формируется конечный отчёт. И есть 30-40 подчинённых файлов типа «АР», «ВК», «ОВ». Нужно что бы при нажатии макрос обновлял (не добавлял) таблицы главного файла данными из подчинённых файлов, желательно даже не открывая его. Цветом выделены ячейки обновления.
Файл вложен.
Буду признателен за быстрый ответ.