목차
파워쿼리로 로드한 표를 새로고침하는 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 메서드를 호출하고, 모든 연결을 확인한 후 새로 고침이 되었는지 여부를 저장하고 있습니다.
따라서, 워크북에 파워쿼리 테이블이 여러 개 있어도 모든 테이블이 새로 고침됩니다.
관련 글
엑셀 UNIQUE 함수로 중복되지 않은 고유값만 추출하기
'써니의 IT' 카테고리의 다른 글
엑셀 IF, DATEIF 함수를 예시로 살펴보기 (0) | 2023.02.27 |
---|---|
예시와 예시 파일로 알아보는 VLOOKUP (0) | 2023.02.21 |
현재 시트를 CSV 출력하는 VBA 코드 작성하기 (0) | 2023.02.21 |
IF, VLOOKUP, AND, OR, NOT 함수 예시로 알아보기 (0) | 2023.02.20 |
엑셀 VLOOKUP 으로 원하는 값 찾아오기 (0) | 2022.12.11 |
엑셀 드롭다운 '목록박스' 만들기 (데이터 유효성 - 목록) (0) | 2022.12.11 |
엑셀 IF 조건문 AND, OR 사용하기 (0) | 2022.12.10 |
엑셀 COUNTIF / COUNTIFS 로 조건에 맞는 값만 세기 (0) | 2022.12.09 |
댓글