자동으로 csv 파일을 가져 와서 내 통합 문서의 특정 워크 시트로 가져 오는 매크로를 실행하고 있습니다. 그러나 매크로가 자동으로 csv 파일을 가져 오는 대신 사용자가 가져올 파일을 선택하게하여 이름을 변경하면 디렉토리가 변경 될 수 있으므로 유연성을 높이고 싶습니다. 저는 VBA를 처음 사용하고 MsoFileDialogType과 GetOpenFilename을 더 잘 이해하려고 노력하고 있지만 개념/구현을 제 코드로 파악하는 데 어려움을 겪고 있습니다.통합 문서의 기존 시트로 가져올 CSV 파일을 선택하라는 매크로
궁극적으로 사용자가 통합 문서 프런트 엔드에서 단추를 클릭하면됩니다. 가져올 첫 번째 CSV 파일을 선택하라는 메시지가 표시됩니다. 이 CSV 파일은 통합 문서 temp1에서 미리 명명 된 워크 시트로 가져옵니다. 그러나 데이터 파일이 쌍을 이루기 때문에 사용자가 temp2로 첫 번째 파일 다음에 다음 CSV 파일을 선택할 수있게하려고합니다.
내가 현재 가지고 것은 :
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, 나는 코드를 구현하려고하지만,이 오류가 발생했습니다 : "사용자 정의 형식이 정의되지 않았습니다"이 라인을 강조 -> 희미한 dlgOpen의 FileDialog – VMO
으로의 Excel 버전을 사용하고 있습니까? Microsoft Office x.x Object Library에 대한 참조를 추가 할 수 있습니까? – Fionnuala
안녕하세요 Remou, 저는 Mac Office 2011을 사용하고 있습니다. Tools -> References를 방문하여 Visual Basic for Applications, Microsoft Excel 14.0 Object Library 및 Microsoft Office 14.0 Object Library를 확인했습니다. – VMO