Я запускаю макрос, который автоматически принимает файлы csv и импортирует их в определенные рабочие листы в моей книге. Тем не менее, я хотел бы добавить большую гибкость, если пользователь будет выбирать файлы для импорта, вместо того, чтобы макрос автоматически захватывал файлы csv, потому что именование могло измениться, а также каталог. Я новичок в VBA и стараюсь лучше понять MsoFileDialogType и GetOpenFilename, но с трудом пытаюсь понять концепцию/реализацию в своем коде.Macro, чтобы пригласить пользователя выбрать CSV-файлы для импорта в существующий лист в рабочей книге
В конечном итоге я хочу, чтобы пользователь нажал кнопку на лицевой панели рабочей книги. Получите запрос с сообщением, чтобы выбрать первый CSV-файл для импорта. Этот файл csv будет импортирован в предварительно названный рабочий лист в рабочей книге temp1. Однако, поскольку файлы данных попадают парами, я хочу, чтобы пользователь мог выбрать следующий файл csv после первого в temp2.
То, что я в настоящее время:
Worksheets.Add
ActiveSheet.Name = "temp1"
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;MAC Directory path here" _
, Destination:=Range("A1"))
.Name = "temp 1 03.02.12"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlMacintosh
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1)
.Refresh BackgroundQuery:=False
.UseListObject = False
End With
ActiveSheet.Move after:=Worksheets(Worksheets.Count)
Спасибо.
Привет Remou, я попытался реализации кода, но столкнулся с этой ошибки: «определяемого пользователем типа не определен» и выделена эта строка -> Dim dlgOpen Как FileDialog – VMO
Какая версия Excel вы используете? Вы можете добавить ссылку на библиотеку объектов Microsoft Office x.x? – Fionnuala
Привет, Remou, я использую Mac Office 2011. Я перешел под Инструменты -> Ссылки и удостоверился, что были проверены Visual Basic для приложений, Библиотека объектов Microsoft Excel 14.0 и Библиотека объектов Microsoft Office 14.0. – VMO