2012-01-02 3 views
4

Excel 2010에서 CSV (쉼표로 분리) 파일을 열고 텍스트를 열로 자동 변환 한 다음 모든 활성 셀을 선택하고 삽입합니다 헤더가있는 테이블.Excel로 CSV 가져 오기 - 자동으로 "텍스트 열"및 "표 삽입"

나를 위해이 모든 작업을 수행 할 수있는 버튼을 리본에 추가 할 수 있습니까?

저는 종종 크기가 다른 CSV 파일을 사용하며 매번 수동으로이 작업을 수행하기가 쉽지 않습니다.

+4

먼저 매크로 레코더를 켜고 파일을 열고 저장 한 다음 매크로 레코더를 닫습니다. 저장된 매크로를 연구하십시오. 작업 매크로의 경우 매개 변수는 파일 이름, 대상 시트, 위치 등입니다. InputBox 또는 파일 대화 상자를 사용할 것입니까? 질문의 비트가 이미 요청되어 답변되었으므로 최근 질문을 살펴보십시오. 'excel-vba'태그가 가장 적절합니다. 남아있는 모든 문제에 대해 질문하기 전에 직접 확인하십시오. 행운을 빕니다. –

답변

2
약간 늦게위한

,하지만 난 그냥 질문을 가로 질러 ...

이것은 선택기에서 특정 파일을 선택하는 것입니다 :

Sub OpenCSV() 
    Dim fd As FileDialog 
    Set fd = Application.FileDialog(msoFileDialogFilePicker) 
    fd.AllowMultiSelect = True 
    fd.Show 
    For Each fileItem In fd.SelectedItems 
     Workbooks.OpenText Filename:= _ 
      fileItem _ 
      , Origin:=65001, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ 
      xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ 
      Comma:=False, Space:=False, Other:=False, TrailingMinusNumbers:=True 
    Next 
End Sub 

이 선택한 모든 CSV 파일을 엽니 다 폴더 :이 파일 Tab Delimited로 설정되어 있는지

Sub OpenCSVFolder() 
    Dim fd As FileDialog 
    Set fd = Application.FileDialog(msoFileDialogFolderPicker) 
    fd.AllowMultiSelect = True 
    fd.Show 
    For Each folderItem In fd.SelectedItems 
     fileItem = Dir(folderItem & "\" & "*.csv") 
     While fileItem <> "" 
      Workbooks.OpenText Filename:= _ 
       folderItem & "\" & fileItem _ 
       , Origin:=65001, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ 
       xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ 
       Comma:=False, Space:=False, Other:=False, TrailingMinusNumbers:=True 
      fileItem = Dir 
     Wend 
    Next 
End Sub 

주 - Tab:=True 또는 Comma:=False 매개 변수를 업데이트하여 구분 기호를 변경합니다.