通过提供path来从工作表中读取值的函数

我想用其他工作簿中的值填充一些单元格。 为了达到这个目的,我写了一个函数,将一个人的名字作为参数,这个文件名就是打开和读取信息的文件名。

为了简化,让我们假设只有一个人。

调用该函数的工作表位于

C:\Dados\People 

我想要读取的文件位于

 C:\Dados\People\Projects 

这是迄今为止的代码,只是简单地回显在第一个工作表中存储的单元格的值:

 Public Function TipoProjeto(name As String) As String Dim shAux As Worksheet shAux = Workbooks.Open(Filename:="C:\Dados\People\Projects\person1.xlsx").Sheets(sheet1) MsgBox shAux.Range("B2").Value TipoProjeto = "test" End Function 

我为MsgBox指令设置了一个断点,但是我无法越过打开的指令。 我可以错过什么?

开始时使用工作簿对象而不是工作表对象。 以下将工作:

 Public Function TipoProjeto() As String Dim location As String location = "C:\Dados\People\Projects\person1.xlsx" Dim wkb As Workbook Set wkb = Workbooks.Open(location) Dim sht As Worksheet Set sht = wkb.sheets("Sheet1") 'Use set sht = wkb.sheet1 only if the sheet has been named this in the project explorer MsgBox sht.Range("B2").Value TipoProjeto = "test" End Function