본문 바로가기

파워쿼리로 로드한 테이블을 새로고침하는 VBA 코드

by SunnyB 2023. 2. 22.
목차

파워쿼리로 로드한 표를 새로고침하는 VBA 코드 예시입니다.

 

 

 

모든 파워쿼리 테이블 새로고침 VBA

Public Sub RefreshPowerQueryTable()

    Dim cn As WorkbookConnection
    Dim isRefreshed As Boolean

    On Error GoTo ErrorHandler
    
    For Each cn In ThisWorkbook.Connections
        ' 파워쿼리 테이블만 새로 고침합니다.
        If InStr(1, cn.OLEDBConnection.Connection, "Microsoft.Mashup.OleDb.1", vbTextCompare) > 0 Then
            cn.Refresh
            isRefreshed = True
        End If
    Next cn
    
    ' 파워쿼리 테이블이 없을 경우 메시지를 표시합니다.
    If Not isRefreshed Then
        MsgBox "No Power Query table found in this workbook.", vbInformation, "Refresh Power Query Table"
    End If
    
    Exit Sub

ErrorHandler:
    MsgBox "An error occurred while refreshing the Power Query tables." & vbCrLf & _
           "Error details: " & Err.Description, vbExclamation, "Error"
    Resume Next

End Sub

이 코드는 모든 시트를 대상으로 각 시트의 모든 파워쿼리 테이블을 순회하며 새로고침합니다.

 

For Each 구문을 사용하여 이 워크북에 있는 모든 연결(Connection)을 확인하고, 각 연결의 Connection 속성을 통해 해당 연결이 파워쿼리 테이블인지 여부를 확인합니다.

 

파워쿼리 테이블인 경우에만 Refresh 메서드를 호출하고, 모든 연결을 확인한 후 새로 고침이 되었는지 여부를 저장하고 있습니다.

 

따라서, 워크북에 파워쿼리 테이블이 여러 개 있어도 모든 테이블이 새로 고침됩니다.

 

 

관련 글

예시와 예시 파일로 알아보는 VLOOKUP

 

예시와 예시 파일로 알아보는 VLOOKUP

📔 VLOOKUP란 무엇인가? VLOOKUP은 엑셀에서 가장 많이 사용되는 함수 중 하나입니다. 이 함수는 특정 값에 대한 매핑 데이터를 찾는 데 사용됩니다. 다른 말로 하면, VLOOKUP 함수를 사용하면 한 열의

buradeo.com

현재 시트를 CSV 출력하는 VBA 코드 작성하기

 

현재 시트를 CSV 출력하는 VBA 코드 작성하기

현재 작성한 시트에서 매크로를 실행하여 CSV 로 저장하는 VBA 코드입니다. Sub SaveAsCSV() Dim myPath As String Dim myFileName As String Dim currentTime As String Dim myWB As Workbook Dim myWS As Worksheet ' 현재 워크시트와

buradeo.com

엑셀 UNIQUE 함수로 중복되지 않은 고유값만 추출하기

 

댓글