excel - 类型与工作簿不匹配。打开
问题描述
我有一个更大的代码集来帮助自动化审计模型。我正在尝试添加一个功能来导入索赔文件。我有一个“GetFiles”函数,我经常使用它来导入信息,但现在我收到类型不匹配错误。
我已经尝试过不同的变量分配并完全量化不同的项目,但无论如何它似乎都会出错。最初我在做OpenFile = GetFiles
(见注释行)然后我的公式读作set aux = application.workbooks.open(OpenFile)
但同样的错误
这是代码的一小部分,因此许多声明的变量在此代码段中不可见。还有一些关于“ThisWorkbook”的注释行,因为该模块将从我的个人工作文件移动到实际的模板模型中。
Sub Audit_Template_Autofill()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim column_id() As Variant, A1 As Range, Z As Range, c As Range
Dim column_count As Long, x As Long, input_option() As Variant, Loop_Input As Variant
Dim claims As Worksheet, audit As Worksheet, OpenFile As Variant, aux As Workbook
'run function to get claims file for import
'GetFiles
' Set claims = ThisWorkbook.Sheets("Claims Data")
' Set audit = ThisWorkbook.Sheets("Audit")
Set claims = ActiveWorkbook.Sheets("Claims Data")
Set audit = ActiveWorkbook.Sheets("Audit")
'OpenFile = GetFiles
Set aux = Application.Workbooks.Open(GetFiles)
ActiveWorkbook.ActiveSheet.Cells.Select.Copy
claims.Range("A1").Paste
Set A1 = claims.Range("A1")
Set Z = A1.End(xlToRight).Offset(0, 1)
column_count = claims.Range(A1, Z).Count
ReDim column_id(0 To column_count): ReDim input_option(0 To column_count)
For Each c In Range(A1, Z)
column_id(x) = c.Value
x = x + 1
Next c
x = 0
Do While x <= column_count
input_option(x) = x + 1 & "=" & column_id(x)
x = x + 1
Loop
x = 0
Do While x <= column_count
Loop_Input = Loop_Input & input_option(x) & vbCrLf & ""
x = x + 1
Loop
错误发生在set aux = Application.Workbooks.open(GetFiles)
这是函数 GetFiles
Function GetFiles() As Variant
GetFiles = Application.GetOpenFilename(Title:="Select Files(s)", MultiSelect:=True)
End Function
我希望该功能允许我打开一个工作簿,然后它将继续导入信息并继续使用代码。出现文件选择框,但是当我选择一个 excel 文件并点击确定时,我收到类型不匹配错误。为冗长的文字道歉,对于 Stack Overflow 来说还是新手。再次感谢!