Помогите с написанием макроса, нужен динамический макрос для выбора файлов, чтобы копировать данные из выборочного файла, Есть 2 файла, макрос должен быть в новом файле, в файле (Ассигнования) в листе (сводная) есть суммы резервов, их надо скопировать и вставить в файл (погашение) в столбец I7, I14, I21 ... I49 по названию резервов (название резервов в столбце B) Прошу помочь с макросом буду благодарен
Private sh_ассигнование As Workbook
Private sh_погашение As Workbook
Private end1 As Long
Sub hh()
Call обзор_файла1
Call обзор_файла2
Call copypaste
End Sub
Private Sub обзор_файла1()
result = Application.GetOpenFilename(MyFilter, , "Открой ассигнование", "открой")
If result = "False" Then
Kill_all = True
Exit Sub
End If
Workbooks.Open Filename:=result, ReadOnly:=1
Set sh_ассигнование = Workbooks(Dir(result))
End Sub
Private Sub обзор_файла2()
result = Application.GetOpenFilename(MyFilter, , "Открой погашение", "открой")
If result = "False" Then
Kill_all = True
Exit Sub
End If
Workbooks.Open Filename:=result, ReadOnly:=1
Set sh_погашение = Workbooks(Dir(result))
End Sub
Private Sub copypaste()
On Error Resume Next
sh_ассигнование.Sheets("сводная").ShowAllData
On Error GoTo 0
On Error Resume Next
sh_погашение.Sheets("КП по NPL ФЛ").ShowAllData
On Error GoTo 0
'sh_ассигнование = ThisWorkbook
sh_ассигнование.Sheets("сводная").Range("B14").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I8").Select
Selection.Paste
'sh_ассигнование = ActiveWorkbook
sh_ассигнование.Sheets("сводная").Range("B6").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I15").Select
Selection.Paste
'sh_ассигнование = ActiveWorkbook
sh_ассигнование.Sheets("сводная").Range("B9").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I22").Select
Selection.Paste
'sh_ассигнование = ActiveWorkbook
sh_ассигнование.Sheets("сводная").Range("B7").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I29").Select
Selection.Paste
'sh_ассигнование = ActiveWorkbook
sh_ассигнование.Sheets("сводная").Range("B8").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I36").Select
Selection.Paste
'sh_ассигнование = ActiveWorkbook
sh_ассигнование.Sheets("сводная").Range("B17").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I43").Select
Selection.Paste
'sh_ассигнование = ActiveWorkbook
sh_ассигнование.Sheets("сводная").Range("B18").Selection
Selection.Copy
sh_погашение = ActiveWorkbook
sh_погашение.Sheets("КП по NPL ФЛ").Range("I50").Select
Selection.Paste
End Sub
См. вариант. Все три файла должны находиться в одной папке. Файл "Ассигнования" немного отредактировал - пояснения на листе. Файл с макросом можете переименовать.
Юрий М написал: Файл "Ассигнования" немного отредактировал - пояснения на листе. Файл с макросом можете переименовать.
Спасибо, но как написать так чтобы он просто копировал из одной ячейки(сводная) в определенную ячейке(КП по NPL ФЛ) Например: из В14(сводная) в ячейку I8(КП по NPL ФЛ) ? Подскажите пж
Код
sh_ассигнование.Sheets("сводная").Range("B14").Selection
Selection.Copy
sh_погашение.Sheets("КП по NPL ФЛ").Range("I8").Selection
Selection.Paste
Юрий М написал: Все три файла должны находиться в одной папке.
добрый день, а если у меня файлы будут лежать в разных папках (и даже дисках), просто путь (до файла, в который будет копироваться) прописать подробный?