2016-06-09 3 views
0

누르면 버튼을 누르면 사용자가 csv 파일을 열도록 요청하고이어서 다른 일들이 CSV 파일에서 자동으로 수행됩니다. 저는 여기에 현재 함께 일하고 코드는 다음과 같습니다사용자 열기 CSV VBA를 사용하여 CSV 입력

Sub MainMacro() 

Dim fNameAndPath As Variant 
fNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.csv), *.csv", Title:="Select File To Be Opened") 
If fNameAndPath = False Then Exit Sub 
Workbooks.Open Filename:=fNameAndPath 

'Sheets.Add After:=Sheets(Sheets.Count) 

'ActiveSheet.name = fNameAndPath 

Call Macro1 
Call Macro2 
Call Macro3 
Call Macro4 
End Sub 

이 CSV 파일을 열고 나는 그것이 탭에서 열려 그래서 Marco1 Marco2...는 해당 작업을 수행 할 수 있습니다 원하는 넣습니다. 따라서 버튼은 사용자가 새로로드 한 활성 시트에서 MainMacro()를 모두 수행합니다.

+0

그래서 통합 문서에 버튼을 추가하고'_Click' 이벤트에서'MainMacro'를 호출해야합니까? 나는 당신이 고군분투하고 버튼을 추가하는 것을 보지 못하겠습니까? MainMacro 코드를 참조 하시겠습니까? 당신이 문제를 일으키는 것이 무엇인지 명확히 할 수 있습니까? – Dave

+0

@Dave 버튼이 있고 매크로 "MainMacro"가 지정되었습니다. 파일이 다른 창에서 열리지 만 단추가있는 시트 옆에 시트로 열어보고 싶습니다. –

+0

우수. 그리고 무슨 일이 있었습니까? – Dave

답변

2

이 코드는 csv를 열고 워크 시트를 원래 통합 문서로 복사하여 사용자가 원하는대로 작업 할 수 있도록합니다. 대상 통합 문서에 시트를 복사 할 때 복사 된 시트도 활성화됩니다. 물론

Sub MainMacro() 
    Dim csvWB As Workbook 
    Dim fNameAndPath As Variant 
    fNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.csv), *.csv", Title:="Select File To Be Opened") 
    If fNameAndPath = False Then Exit Sub 
    Set csvWB = Workbooks.Open(Filename:=fNameAndPath) 
    csvWB.Worksheets(1).Copy Before:=ThisWorkbook.Worksheets(1) 
    csvWB.Close 
    Call Macro1 
    Call Macro2 
    Call Macro3 
    Call Macro4 
End Sub 

, Macro1-4이 실제로 무엇에 따라서는 다른 통합 문서를 열고 단지에 대한 귀하의 매크로를 수행하는 것이 더 쉬울 수 있습니다?