如何使用VLOOKUP中的GetOpenFilename获取工作表名称

时间:2017-09-19 13:16:32

标签: excel vba excel-vba

我在下面使用此代码在您使用VARCHAR选择的另一个文件中使用VLOOKUP。我希望GetOpenFilename成为您选择的文件中的工作表的名称,但每当我单步执行时,它始终是我正在处理的工作表的名称并将VLOOKUP放入。

我的VLOOKUP中有shtName,当我单步执行时,它没有显示任何内容。 shtName显示文件名和路径,但X后面没有显示任何内容。但是我的VLOOKUP最终仍在工作,它将表格放入公式中。

为什么?我希望能够自己做,所以我知道我从你选择的文件中得到了工作表名称。

shtName

1 个答案:

答案 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
    
  • 每个 RowsColumnsCells等相同

  • 完全避免使用.Select.ActivateSelection. (互联网上有许多教程如何避免它们。)
  • 使用Option Explicit并在使用前声明所有变量 (避免许多问题,特别是错别字)。