Microsoft Excelでは、閉じたブックから情報を取得することは、VBAコードを使用して正確なデータを取得するための最も時間を節約する方法の1つです。この記事では、MicrosoftExcelでVBAを使用して閉じたブックから情報を読み取る方法を学習します。

電子メールまたはその他のソースを介して複数のファイルを取得していて、特定のセルに保存されている情報を取得したい場合は、このチュートリアルを読む必要があります。

この例を理解するには、VBAコードで使用するパスにいくつかのサンプルファイルを作成する必要があります。ここでは、「D:\ tests」パスにいくつかのファイル(NorthおよびWestファイル)を保存しました。

フォルダ内のすべてのExcelファイルからデータを抽出するには、次の手順に従ってVBエディタを起動する必要があります。

[開発者]タブをクリックし、[コード]グループから[VisualBasic]を選択します

img1

  • 以下のコードを標準モジュールにコピーします

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

img2

img3

マクロを実行する必要があります。結果のスナップショットは次のようになります:

img4

===

結論:上記のコードを使用すると、特定のセルの閉じたブックからデータを取得できます。

注:セルA1が例として使用されています。他のセルからデータを取得する場合は、そのセルについて言及するだけです。

image 48

私たちのブログが気に入ったら、Facebookで友達と共有してください。また、TwitterやFacebookでフォローすることもできます。

_私たちはあなたからの連絡をお待ちしております。私たちの仕事を改善、補完、または革新し、あなたのためにそれをより良くする方法を教えてください。 [email protected]_までご連絡ください