Microsoft ExcelでVBAを使用して、閉じたブックから値を取得
この記事では、VBAコードを使用して、閉じたブックからアクティブなブックにデータをフェッチする手順を作成します。
フェッチする生データは、パス「C:\ Users \ Ramandeep \ Desktop」にある「DataFile.xlsx」ファイルのシート「Sheet1」の範囲A13:E22にあります。
ロジックの説明
この記事では、2つの手順を作成しました。 MainProcedureを呼び出します。 GetValuesFromAClosedWorkbook
CallingMainProcedureプロシージャ
このプロシージャは、プロシージャ「GetValuesFromAClosedWorkbook」を呼び出すために使用されます。 「GetValuesFromAClosedWorkbook」プロシージャのパラメータに値を割り当てます。
GetValuesFromAClosedWorkbookプロシージャ
このプロシージャは、閉じたブックのファイルパスとファイル名をパラメータとして受け取ります。また、シート名と閉じたブックからの範囲をパラメーターとして受け取ります。入力パラメータの値を使用して、配列数式がアクティブシートの範囲A13:E22に\ {= ‘C:\ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’!A13:E22}として入力されます。配列数式は閉じたワークブックから必要なデータ。データがアクティブなシートにフェッチされると、数式を値に置き換えることにより、シートから数式が削除されます。
コードについては以下に従ってください
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]までご連絡ください