외부 소스의 데이터를 워크시트로 가져오는 방법에는 여러 가지가 있습니다.
인터넷, 텍스트 파일 또는 기타 Excel에서 데이터를 얻을 수도 있습니다.
따라서 데이터베이스 연결(변수 varConn 아래 매크로에서) 및 SQL 쿼리 (변하기 쉬운 varSQL ) 보고서의 데이터베이스에서 데이터 검색을 자동화합니다. 아래 예에는 SQL 쿼리 , MS Access의 작은 데이터베이스로부터 데이터를 수신합니다.
딸깍 하는 소리 데이터베이스를 로드하다
MS Access 파일은 다음과 같습니다:
실행할 매크로를 작성해 보겠습니다. SQL 쿼리 .
메뉴 열기 서비스 - 매크로 - 편집기 Visual Basic , 새 모듈을 삽입 (메뉴 Insert - Module ) 거기에 매크로 텍스트를 복사합니다.
Sub SQLQuery_1() 'moonexcel.com.ua Dim varConn As String Dim varSQL As String Range("A1").CurrentRegion.ClearContents varConn = "ODBC;Driver={Microsoft Access Driver (*.mdb, *.accdb)}" varSQL = "SELECT Month, Product, City FROM Sumproduct" With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1")) .CommandText = varSQL .Refresh BackgroundQuery:=False End With End Sub
저장을 클릭하고 Excel로 돌아갑니다. 메뉴에서 선택하세요 보기 - 매크로(Alt+F8) 매크로 이름 " SQLQuery_1 ". 대화 상자가 나타나면 누릅니다. 데이터 베이스... , Access 파일을 찾아 클릭하세요.
이제 매크로 쿼리가 열을 가져온 것을 볼 수 있습니다.
마찬가지로, 데이터베이스에서처럼 일반 Excel 파일에서 데이터를 가져올 수 있습니다. 이를 위해 매크로 코드를 약간 다시 작성하고 연결 드라이버를 Access에서 Excel로 변경해야 합니다.
테이블을 내보냅니다.
Sub SQLQuery_2() 'moonexcel.com.ua Dim varConn As String Dim varSQL As String Range("A1").CurrentRegion.ClearContents varConn = "ODBC;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}" varSQL = "SELECT Month, Product, City FROM Sumproduct" With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1")) .CommandText = varSQL .Refresh BackgroundQuery:=False End With End Sub
Excel 파일을 선택할 수 있는 창이 나타납니다.