|在本文中,我们将创建一个过程,以使用VBA代码从封闭的工作簿向活动的工作簿获取数据。

我们要获取的原始数据位于“ DataFile.xlsx”文件中“ Sheet1”表的A13:E22范围内,该文件位于路径“ C:\ Users \ Ramandeep \ Desktop”中。

dataFile

逻辑解释

我们在本文中创建了两个过程:-。调用MainProcedure。 GetValuesFromAClosedWorkbook

CallingMainProcedure过程

此过程用于调用过程“ GetValuesFromAClosedWorkbook”。它将值分配给“ GetValuesFromAClosedWorkbook”过程的参数。

GetValuesFromAClosedWorkbook过程

此过程将关闭的工作簿的文件路径和文件名作为参数。它还以工作表名称和来自封闭工作簿的范围为参数。使用输入参数的值,以\ {=’C:\ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’!A13:E22}的形式在活动工作表的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]