获取值从Excel中使用VBA关闭的工作簿
|在本文中,我们将创建一个过程,以使用VBA代码从封闭的工作簿向活动的工作簿获取数据。
我们要获取的原始数据位于“ DataFile.xlsx”文件中“ Sheet1”表的A13:E22范围内,该文件位于路径“ C:\ Users \ Ramandeep \ Desktop”中。
逻辑解释
我们在本文中创建了两个过程:-。调用MainProcedure。 GetValuesFromAClosedWorkbook
CallingMainProcedure过程
此过程用于调用过程“ GetValuesFromAClosedWorkbook”。它将值分配给“ GetValuesFromAClosedWorkbook”过程的参数。
GetValuesFromAClosedWorkbook过程
此过程将关闭的工作簿的文件路径和文件名作为参数。它还以工作表名称和来自封闭工作簿的范围为参数。使用输入参数的值,以\ {=’C:\ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’!A13:E22}的形式在活动工作表的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]