Thema Datum  Von Nutzer Rating
Antwort
26.01.2024 10:04:15 Sutter
NotSolved
Blau Powerquerry-Datenaktualisierung
26.01.2024 16:19:48 Gast89325
NotSolved
01.02.2024 17:04:39 Gast31961
NotSolved

Ansicht des Beitrags:
Von:
Gast89325
Datum:
26.01.2024 16:19:48
Views:
310
Rating: Antwort:
  Ja
Thema:
Powerquerry-Datenaktualisierung
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub Data_IN_laden()
    Dim folderPath As String
    Dim fileName As String
    Dim wb As Workbook
  
    '  folder path
    folderPath = "\Dies\ist\mein\Pfad\"
  
    ' Kontrolle ob ordner existiert
    If Dir(folderPath, vbDirectory) = "" Then
        MsgBox "Folder does not exist: " & folderPath, vbExclamation
        Exit Sub
    End If
  
  
  
    ' Loope durch alle Files im Ordner
    fileName = Dir(folderPath & "*.xlsx")
    Do While fileName <> ""
        ' Kontrolle ob file schon geöffnet ist
        If IsWorkBookOpen(fileName) Then
            ' File ist geöffnet, save und schliesse
            Set wb = Workbooks(fileName)
            wb.Save
            wb.Close
        Else
            ' File ist nicht geöffnet, öffne es
            Set wb = Workbooks.Open(folderPath & fileName)
           <span style="font-size:20px"> ActiveWorkbook.RefreshAll</span>
  
        End If
  
        ' Get next file
        fileName = Dir
    Loop
  
      
  
    MsgBox "Alle In-Daten Files geöffnet/gespeichert und geschlossen", vbInformation
End Sub
  
Function IsWorkBookOpen(fileName As String) As Boolean
    Dim wb As Workbook
    On Error Resume Next
    ' Try to set the workbook object to check if it's already open
    Set wb = Workbooks(fileName)
    On Error GoTo 0
    ' If the workbook is already open, the object is set successfully
    IsWorkBookOpen = Not wb Is Nothing
End Function

Habe die Lösung auf stackverflow gefunden excel - Auto-updating Power Query Connection via VBA - Stack Overflow, aber der Befehl  ActiveWorkbook.RefreshAll ist problematisch für grosse Datenmengen. Sie Sprechen zudem von diesem Code: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub RefreshQuery()
Dim con As WorkbookConnection
Dim Cname As String
 
For Each con In ActiveWorkbook.Connections
    If Left(con.name, 8) = "Query - " Then
    Cname = con.name
        With ActiveWorkbook.Connections(Cname).OLEDBConnection
            .BackgroundQuery = False  'or true, up to you
            .Refresh
        End With
    End If
Next
End Sub

Ich finde aber mein Query nicht, weiss jemand wo man dies findet? 

If Left(con.name, 8) = "Query - " Then? 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.01.2024 10:04:15 Sutter
NotSolved
Blau Powerquerry-Datenaktualisierung
26.01.2024 16:19:48 Gast89325
NotSolved
01.02.2024 17:04:39 Gast31961
NotSolved