Registriert seit: 26.09.2020
Version(en): 2016
Hallo zusammen, ich habe eine Abfrage in meiner Excel datei die alle 3min im Hintergrund sich aktuallisiert. Das funktioniert auch alles top aber wenn ich gerade in einer anderen Excel Datei arbeite und die Aktuallisierung dran ist springt die Datei immer in das tabellenblatt wo die Abfrage ist. ich hätte gerne das er bei der Hauptseite bleibt. Wenn ich die Liste offen und aktiv habe funktioniert das so
Registriert seit: 09.09.2021
Version(en): 365
Da wirst du wohl das Hauptworkbook explizit referenzieren müssen. Mehr gibts wenn du Code zeigst
Registriert seit: 26.09.2020
Version(en): 2016
15.09.2021, 14:43
(Dieser Beitrag wurde zuletzt bearbeitet: 15.09.2021, 14:45 von Enclave.)
das wäre der code Code: ActiveWorkbook.Queries.Add Name:="Table 8", Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Quelle = Web.Page(Web.Contents(""XXXXXXXXTESTXXXXXXXXX""))," & Chr(13) & "" & Chr(10) & " Data8 = Quelle{8}[Data]," & Chr(13) & "" & Chr(10) & " #""Geänderter Typ"" = Table.TransformColumnTypes(Data8,{{""Gruppenname"", type text}, {""Ges"", Int64.Type}, {""Akt"", Int64.Type}, {""Pre"", Int64.Type}, {""Q"", Int64.Type}, {""InS"", Int64.Type}, {""Err"", Int64.Type}, {""InS %" & _ """, Percentage.Type}, {""Err %"", Percentage.Type}, {""Ges2"", Int64.Type}, {""Frei"", Int64.Type}, {""Bes"", Int64.Type}, {""Post"", Int64.Type}, {""Pause"", Int64.Type}, {""Aktion"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Geänderter Typ""" With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 8"";Extended Properties=""""" _ , Destination:=Range("$A$1")).QueryTable .CommandType = xlCmdSql .CommandText = Array("SELECT * FROM [Table 8]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 3 .PreserveColumnInfo = False .ListObject.DisplayName = "Table_8" '.refresh BackgroundQuery:=False End With
Registriert seit: 09.09.2021
Version(en): 365
Na also, mache überall aus ActiveWorkbook ThisWorkbook und aus ActiveSheet machst du Sheet("Der Name deines Sheets in dem der Code ausgeführt werden soll") fertig
Folgende(r) 1 Nutzer sagt Danke an Janush für diesen Beitrag:1 Nutzer sagt Danke an Janush für diesen Beitrag 28
• Enclave
Registriert seit: 26.09.2020
Version(en): 2016
Das ist so einfach und logisch das ist mir peinlich das ich da nicht drauf gekommen bin Danke ^^
Registriert seit: 26.09.2020
Version(en): 2016
okay, zu früh gefreut. oder hab ich etwas vergessen/übersehen? Code: ThisWorkbook.Queries.Add Name:="Table 8", Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Quelle = Web.Page(Web.Contents(""htest12345/alo/agentUI_Supervisor.jsf""))," & Chr(13) & "" & Chr(10) & " Data8 = Quelle{8}[Data]," & Chr(13) & "" & Chr(10) & " #""Geänderter Typ"" = Table.TransformColumnTypes(Data8,{{""Gruppenname"", type text}, {""Ges"", Int64.Type}, {""Akt"", Int64.Type}, {""Pre"", Int64.Type}, {""Q"", Int64.Type}, {""InS"", Int64.Type}, {""Err"", Int64.Type}, {""InS %" & _ """, Percentage.Type}, {""Err %"", Percentage.Type}, {""Ges2"", Int64.Type}, {""Frei"", Int64.Type}, {""Bes"", Int64.Type}, {""Post"", Int64.Type}, {""Pause"", Int64.Type}, {""Aktion"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Geänderter Typ""" With ThisWorkbook.Sheets("ALO2").ListObjects.Add(SourceType:=0, Source:= _ "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 8"";Extended Properties=""""" _ , Destination:=Range("$A$1")).QueryTable .CommandType = xlCmdSql .CommandText = Array("SELECT * FROM [Table 8]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 3 .PreserveColumnInfo = False .ListObject.DisplayName = "Table_8" '.refresh BackgroundQuery:=True End With
Registriert seit: 09.09.2021
Version(en): 365
Was genau funktioniert nicht? Es kann sich eigentlich nicht genau wie vorher verhalten. Ich könnte mir vorstellen, dass du deine Source und eventuell deine Query weiter spezifizieren musst. Vielleicht reicht auch schon die Destination zu ThisWorkbook.Sheet("xyz").Range("$A$1") zu ändern. Code: With ThisWorkbook.Sheets("ALO2").ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 8"";Extended Properties=""""", Destination:=Range("$A$1")).QueryTable
.CommandText = Array("SELECT * FROM [Table 8]")
Registriert seit: 26.09.2020
Version(en): 2016
naja wenn ich die datei offen habe ist alles schick und alles wird im hintergrund gemacht.
wenn ich eine andere offen habe und darin arbeite springt aber die gemeinte datei auf das sheet wo die Abfrage ist und aktualisiertsich und bleibt in dem sheet stehen.
ich möchte aber das sich die Abfrage aktualisiertund ich auf meinem "haupt" sheet bleibe auch wenn die datei nicht aktiv ist.
|