Forum Discussion
VBA to delete Power Query Connections or Folder
- Oct 17, 2022
JerryDNYC You need code like this to delete the queries:
Sub DelQueries() Dim q As WorkbookQuery For Each q In ActiveWorkbook.Queries If MsgBox("Delete query '" & q.Name & "'?", vbYesNo) = vbYes Then q.Delete End If Next End Sub
JerryDNYC You need code like this to delete the queries:
Sub DelQueries()
Dim q As WorkbookQuery
For Each q In ActiveWorkbook.Queries
If MsgBox("Delete query '" & q.Name & "'?", vbYesNo) = vbYes Then
q.Delete
End If
Next
End Sub- sal_ivFeb 08, 2023Copper Contributor
JKPieterse Is it possible to delete the queries within the active worksheet alone.
I tried using the below query, but it fails with error.
Sub Delete_Queries()
Dim q As WorkbookQuery
For Each q In ActiveSheet.Queries- JKPieterseFeb 08, 2023Silver Contributor
sal_iv That requires a different approach:
Sub DelQueries() Dim q As WorkbookQuery Dim c As WorkbookConnection For Each c In ActiveWorkbook.Connections If c.Ranges.Count > 0 Then If c.Ranges(1).Parent.Name = ActiveSheet.Name Then c.Delete End If End If Next End Sub- sal_ivFeb 08, 2023Copper Contributor
Thanks for the Quick response!!
For me the above quries doesn't remove the Queries in the worksheet.
In the Data & Connections pane, I can see I only have Queries. (Sorry I'm new to these.)
So I edited your code to the following.
```
Sub DelQueries()
Dim q As WorkbookQuery
Dim c As WorkbookConnection
For Each q In ActiveWorkbook.Queries
If q.Ranges.Count > 0 Then
If q.Ranges(1).Parent.Name = ActiveSheet.Name Then
q.Delete
End IfNext
End Sub
```
However, it errors out “Object doesn't support this property” for the line "If q.Ranges.Count > 0 Then"
- JerryDNYCOct 17, 2022Copper ContributorWorked perfectly. Thank you Jan!