我在下面使用此代码在您使用VARCHAR
选择的另一个文件中使用VLOOKUP。我希望GetOpenFilename
成为您选择的文件中的工作表的名称,但每当我单步执行时,它始终是我正在处理的工作表的名称并将VLOOKUP放入。
我的VLOOKUP中有shtName
,当我单步执行时,它没有显示任何内容。 shtName
显示文件名和路径,但X
后面没有显示任何内容。但是我的VLOOKUP最终仍在工作,它将表格放入公式中。
为什么?我希望能够自己做,所以我知道我从你选择的文件中得到了工作表名称。
shtName
答案 0 :(得分:2)
以下内容应该为您提供文件中的工作表名称
Dim wbk As Workbook
Set wbk = Workbooks.Open(Filename:="YOUR_FILE_PATH", ReadOnly:=True)
Dim shtName As String
shtName = wbk.Worksheets(1).Name
wbk.Close
注意:如果我们不打算改变任何内容,我们可以在只读模式下打开工作簿。
此外,我建议(遵循良好做法的良好代码):
始终指定工作表
例如每个 Range("")
,例如Worksheets("YourSheetName").Range("")
或者使用With
语句:
With Worksheets("YourSheetName")
.Range("A1").Value = 5 'recognize the starting full stop referring to the with statement
End With
每个 Rows
,Columns
,Cells
等相同
.Select
,.Activate
和Selection.
(互联网上有许多教程如何避免它们。)Option Explicit
并在使用前声明所有变量
(避免许多问题,特别是错别字)。