この記事では、VBAコードを使用して、閉じたブックからアクティブなブックにデータをフェッチする手順を作成します。

フェッチする生データは、パス「C:\ Users \ Ramandeep \ Desktop」にある「DataFile.xlsx」ファイルのシート「Sheet1」の範囲A13:E22にあります。

dataFile

ロジックの説明

この記事では、2つの手順を作成しました。 MainProcedureを呼び出します。 GetValuesFromAClosedWorkbook

CallingMainProcedureプロシージャ

このプロシージャは、プロシージャ「GetValuesFromAClosedWorkbook」を呼び出すために使用されます。 「GetValuesFromAClosedWorkbook」プロシージャのパラメータに値を割り当てます。

GetValuesFromAClosedWorkbookプロシージャ

このプロシージャは、閉じたブックのファイルパスとファイル名をパラメータとして受け取ります。また、シート名と閉じたブックからの範囲をパラメーターとして受け取ります。入力パラメータの値を使用して、配列数式がアクティブシートの範囲A13:E22に\ {= ‘C:\ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’!A13:E22}として入力されます。配列数式は閉じたワークブックから必要なデータ。データがアクティブなシートにフェッチされると、数式を値に置き換えることにより、シートから数式が削除されます。

ArrowAfterRunningMacro

コードについては以下に従ってください

Option Explicit

Sub CallingMainProcedure()

'Calling GetValuesFromAClosedWorkbook procedure

'Specifying the file path, filename, sheet name and range of data

GetValuesFromAClosedWorkbook "C:\Users\Ramandeep\Desktop", "DataFile.xlsx", _

"Sheet1", "A13:E22"

End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _

fName As String, sName, cellRange As String)



With ActiveSheet.Range(cellRange)

'Assigning the array formula to the specified range

.FormulaArray = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange

'Removing formula from the cell and pasting the values in the cell

.Value = .Value

End With

End Sub

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください