У меня большой кодовый набор, чтобы помочь автоматизировать модель аудита. Я пытаюсь добавить функцию для импорта файла утверждений. У меня есть функция «GetFiles», которую я регулярно использую для импорта информации, но теперь я получаю ошибку несоответствия типов.
Я уже пробовал разные назначения переменных и полностью количественно определял различные элементы, но, похоже, все равно ошибался. Первоначально я делал OpenFile = GetFiles
(см. Закомментированную строку), а затем моя формула читалась как set aux = application.workbooks.open(OpenFile)
, но с той же ошибкой
Это небольшая часть кода, поэтому некоторые объявленные переменные не видны в этомsnippet.There также некоторые закомментированные строки, касающиеся "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 и нажимаю кнопку ОК, я получаю ошибку несоответствия типов. Извиняюсь за длинный текст, все еще плохо знакомый с переполнением стека. Еще раз спасибо!