Копирование данных из одного excel файла в другой - VBA
Формулировка задачи:
Добрый день! Знаю тут много тем про копирование данных. Но я так и не нашла по теме. Вобщем мне надо из разных файлов собрть ин6формацию в один.
Я сделала это так:
Вобщем каждый раз открываю и закрываю файл чтобы вытащить значение одной ячейки. Вот как сделать чтобы сразу вытаскивать эти все знаения и вставлять их в нужные ячейки. И вот интересно как сделать чтобы допустим из нужного файла по одному столбцу найти значение допустим а = 3407 и если нашлось то выбераем значение из столбца рядом напротив которого эта цифра и вставляем ее в общий файл в нужную ячейку. надеюсь понятно объяснила)
Листинг программы
- iPath = ActiveWorkbook.Path
- Workbooks.Open Filename:=iPath + "\Иркутская.xlsx"
- Workbooks("Иркутская.xlsx").Worksheets("Таблица1").Range("C331").Copy
- Workbooks("Общая.xlsm").Activate
- ActiveWorkbook.Worksheets("Лист1").Range("D3").Select
- ActiveSheet.Paste
- Workbooks("Иркутская.xlsx").Close
- iPath = ActiveWorkbook.Path
- Workbooks.Open Filename:=iPath + "\Иркутская.xlsx"
- Workbooks("Иркутская.xlsx").Worksheets("Таблица1").Range("C332").Copy
- Workbooks("Общая.xlsm").Activate
- ActiveWorkbook.Worksheets("Лист1").Range("E3").Select
- ActiveSheet.Paste
- Workbooks("Иркутская.xlsx").Close
- iPath = ActiveWorkbook.Path
- Workbooks.Open Filename:=iPath + "\Иркутская.xlsx"
- Workbooks("Иркутская.xlsx").Worksheets("Таблица1").Range("C333").Copy
- Workbooks("Общая.xlsm").Activate
- ActiveWorkbook.Worksheets("Лист1").Range("F3").Select
- ActiveSheet.Paste
- Workbooks("Иркутская.xlsx").Close
Решение задачи: «Копирование данных из одного excel файла в другой»
textual
Листинг программы
- Sub Кнопка2_Щелчок() ' Загрузка предварительной заявки
- MainName = ActiveWorkbook.Name
- If Cells(3, 3) <> Empty Then
- MsgBox "Очистите поле"
- Exit Sub
- Else
- adres_svod_zayavka_rb = GetFilePath("Выберите файл Предварительной заявки", , "Документы Excel", "*.xlsx, *.xls") ' запрашиваем имя файла
- If adres_svod_zayavka_rb = "" Then Exit Sub ' выход, если пользователь отказался от выбора файла
- Workbooks.Open Filename:=adres_svod_zayavka_rb
- Filename = ActiveWorkbook.Name
- Workbooks(Filename).Worksheets("Лист1").Range("A1:LA200").Copy
- With Workbooks(MainName)
- .Activate
- .Worksheets("Заявка РБ").Range("С2:LC201").PasteSpecial Paste:=xlPasteValues
- End With
- Application.CutCopyMode = False
- Workbooks(Filename).Close SaveChanges = False
- Cells(2, 2).Select
- End If
- End Sub
- Function GetFilePath(Optional ByVal Title As String = "Выберите файл для загрузки", _
- Optional ByVal InitialPath As String = "c:\", _
- Optional ByVal FilterDescription As String = "Книги Excel", _
- Optional ByVal FilterExtention As String = "*.xls*") As String
- ' функция выводит диалоговое окно выбора файла с заголовком Title,
- ' начиная обзор диска с папки InitialPath
- ' возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора
- ' для фильтра можно указать описание и расширение выбираемых файлов
- On Error Resume Next
- With Application.FileDialog(msoFileDialogOpen)
- .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
- .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
- If .Show <> -1 Then Exit Function
- GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
- End With
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д