Читайте информацию из закрытой книги с помощью VBA в Microsoft Excel
В Microsoft Excel получение информации из закрытой книги — один из самых экономящих время способов получить точные данные с помощью кода VBA. В этой статье мы узнаем, как читать информацию из закрытой книги с помощью VBA в Microsoft Excel .
Если вы получаете несколько файлов по электронной почте или из любого другого источника и хотите получить информацию, хранящуюся в определенной ячейке, вам следует прочитать это руководство.
Чтобы понять этот пример, нам нужно создать несколько примеров файлов по пути, который мы будем использовать в коде VBA; здесь мы сохранили пару файлов (файлы North & West) в пути «D: \ testing».
Чтобы извлечь данные из всех файлов Excel в папке, нам нужно выполнить следующие шаги для запуска редактора VB:
Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic
-
Скопируйте приведенный ниже код в стандартный модуль
Sub ReadDataFromAllWorkbooksInFolder() Dim FolderName As String, wbName As String, r As Long, cValue As Variant Dim wbList() As String, wbCount As Integer, i As Integer FolderName = "D:\testing" ' create list of workbooks in foldername' --- Comment wbCount = 0 wbName = Dir(FolderName & "\" & "*.xls") While wbName <> "" wbCount = wbCount + 1 ReDim Preserve wbList(1 To wbCount) wbList(wbCount) = wbName wbName = Dir Wend If wbCount = 0 Then Exit Sub ' get values from each workbook' --- Comment r = 0 Workbooks.Add For i = 1 To wbCount r = r + 1 cValue = GetInfoFromClosedFile(FolderName, wbList(i), "Sheet1", "A1") Cells(r, 1).Formula = wbList(i) Cells(r, 2).Formula = cValue Next i End Sub Private Function GetInfoFromClosedFile(ByVal wbPath As String, _ wbName As String, wsName As String, cellRef As String) As Variant Dim arg As String GetInfoFromClosedFile = "" If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\" If Dir(wbPath & "\" & wbName) = "" Then Exit Function arg = "'" & wbPath & "[" & wbName & "]" & _ wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1) On Error Resume Next GetInfoFromClosedFile = ExecuteExcel4Macro(arg) End Function
Нам нужно запустить макрос, и результат будет следующим:
===
Вывод: используя приведенный выше код, мы можем получить данные из закрытой книги из определенной ячейки.
Примечание. Ячейка A1 используется в качестве примера; если вы хотите получить данные из любой другой ячейки, вам просто нужно указать эту ячейку.
Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]