我想做的是:
Match
函数搜索所选Excel文档中的正确行/列并返回值。我被困在下面代码的FileDialog(msoFileDialogFilePicker)
部分。
出于我的文档的目的,我无法输入直接文件路径,需要从FileDialog
函数(或类似的东西)获取文件路径。
我也试过GetOpenFilename
。我不确定该怎么做。我的代码当前打开FileDialog并让我选择一个文件,但我无法将文件路径传递到我的colNum1行。
我得到的错误是运行时错误' 91'。对象变量或未设置块变量。
我愿意接受建议,非常感谢任何帮助。
Sub KPI_Button()
'
' KPI_Button Macro
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim strFile As String
Dim Doc As String
Dim Res As Integer
Dim dlgSaveAs As FileDialog
Doc = ThisDocument.Name
Set dlgSaveAs = Application.FileDialog(msoFileDialogFilePicker)
Res = dlgSaveAs.Show
colNum1 = WorksheetFunction.Match("(Month)", ActiveWorkbook.Sheets("Sheet1").Range("A2:I2"), 0)
ThisDocument.hoursworkedMonth.Caption = exWb.Sheets("Sheet1").Cells(3, colNum1)
exWb.Close
Set exWb = Nothing
End Sub
答案 0 :(得分:1)
尝试一个指定Excel扩展的对话框:
Sub GetNames()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Excel files", "*.xls*", 1
If .Show = True Then
If .SelectedItems.Count > 0 Then
'this is the path you need
MsgBox .SelectedItems(1)
Else
MsgBox "no valid selection"
End If
End If
End With
End Sub