Alle Querytable löschen
#1
Hallo zusammen,
Brauch mal wieder eure Hilfe.

Ich habe mit dem Recoder folgendes Makro aufgezeichnet...

Code:
Sub Onvista()
Dim Blatt As String
   
 
   Sheets("Kürzel").Select
   Range("G2").Select
   Selection.Copy
   Blatt = Range("B2").Text
   ThisWorkbook.Sheets(Blatt).Select

   ActiveWorkbook.Queries.Add Name:= _
       "export csv?notationId=39517324&dateStart=19 09 2012&interval=Y5&assetName=AD (2)" _
       , Formula:= _
       "let" & Chr(13) & "" & Chr(10) & "    Quelle = Csv.Document(Web.Contents(""https://www.onvista.de/onvista/boxes/historicalquote/export.csv?notationId=39517324&dateStart=19.09.2012&interval=Y5&assetName=ADS.DE&exchange=Xetra""),[Delimiter="";"", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & "    #""Höher gestufte Header"" = Table.PromoteHeaders(Quelle, [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & "    #" & _
       """Geänderter Typ"" = Table.TransformColumnTypes(#""Höher gestufte Header"",{{""Datum"", type date}, {""Eroeffnung"", type number}, {""Hoch"", type number}, {""Tief"", type number}, {""Schluss"", type number}, {""Volumen"", type number}})," & Chr(13) & "" & Chr(10) & "    #""Entfernte Spalten"" = Table.RemoveColumns(#""Geänderter Typ"",{""Eroeffnung"", ""Hoch"", ""Tief"", ""Volumen""})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "   " & _
       " #""Entfernte Spalten"""
   With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
       "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""export csv?notationId=39517324&dateStart=19 09 2012&interval=" _
       , "Y5&assetName=AD (2)"""), Destination:=Range("$A$1")).QueryTable
       .CommandType = xlCmdSql
       .CommandText = Array( _
       "SELECT * FROM [export csv?notationId=39517324&dateStart=19 09 2012&interval=Y5&assetName=AD (2)]" _
       )
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .BackgroundQuery = True
       .RefreshStyle = xlInsertDeleteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .PreserveColumnInfo = True
       .ListObject.DisplayName = _
       "export_csv_notationId_39517324_dateStart_19_09_2012_interval_Y5_assetName_AD__2"
       .Refresh BackgroundQuery:=False
   End With
   Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
   Columns("B:B").Select
   Application.CutCopyMode = False
   Selection.NumberFormat = "#,##0.000"
   Range("export_csv_notationId_39517324_dateStart_19_09_2012_interval_Y5_assetName_AD__2[[#Headers],[Datum]]").Select

End Sub

Nun möchte ich, dass am Ende des Makros die Abfrage wieder gelöscht wird.
Kann ir jemand dabei helfen? Danke im Voraus.
Top
#2
HI,

Mal geraten ohne zu Testen

dim objQr
For Each objQr In ThisWorkbook.Queries
objQr.Delete
Next
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#3
Bernie,

bei den überfließenden Stapeln findet sich immer was:
https://stackoverflow.com/questions/4482...k-with-vba
https://stackoverflow.com/questions/3801...-excel-vba
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#4
Wink 
@ chris-ka
Danke passt wie Faust auf's Auge  :23:

@ shift-del
Danke auch für deine schnelle Antwort
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste