Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

RefreshPeriod bei allen sheets to False

RefreshPeriod bei allen sheets to False
05.07.2022 10:03:04
Johannes
Schönen guten Morgen,
Ich möchte bei meinen Arbeitsblättern die automatische Abfrage manchmal ausschalten, weil es mich nervt.
Bei 4 Arbeitsmappen mit teilweise 10 Blättern kann das dauern und man nichts arbeiten in dieser Zeit.
Ich habe versucht eins meiner Codes umzuarbeiten, einen zum wieder einschalten und einen zum Ausschalten der "refreshPeriod".
Irgendwie weiß ich nicht wie ich die querytable definieren soll, hab dann auch ein Makro aufgezeichnet aber komm nicht weiter
ich füge mal den Codes ein, mit dem ich es versucht habe.
Johannes

Sub Refresh_Data_OUT()
' set data refresh to 20 min
Application.ScreenUpdating = False
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
Select Case wks.Name
Case "All", "Ant", Tabelle1.Name
Case Else
' Range("E13").Select
With Selection.QueryTable
.Name = "statement"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False       'change
.BackgroundQuery = False        'change
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = False          'change
End With
End Select
Next
Application.ScreenUpdating = True
MsgBox " Data refresh all Pages off !"
Sheets("Master").Select
Range("H7").Select
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: RefreshPeriod bei allen sheets to False
05.07.2022 14:29:38
Yal
Hallo Johannes,
ja, Du bist mit dem Excel-Objektmodell noch nicht so weit. Immer wieder mal im Objektkatalog nachschauen (F2 oder Ansicht, Objekt-Katalog), um zu sehen, was-wie-wo.
Eine Auflistung ist immer mit einem "s" am Ende. Darauf kann einen For-Each laufen lassen:
ThisWorkbook.Worksheets
Worksheets(1).QueryTables
Dabei ist Worksheets(1) das erste Element der Auflistung Worksheets, also ein Einzel-Element vom Typ Worksheet. Da wir nicht nur die erste behandeln wollen, fangen wir es mit der Laufvariable W, worüber wir die Auflistung aller QueryTables innerhalb des Blattes holen.
Folgendes sollte passen (ungetestet, da keine passende Datei zur Verfügung):

Sub Refresh_Data_OUT()
Dim W As Worksheet 'Lauf-Variable habe ich gern 1-stellig und gross geschrieben (Geschmacksache)
Dim Q As Object
For Each W In ThisWorkbook.Worksheets
Select Case W.Name
Case "All", "Ant", Tabelle1.Name 'Diese Blätter aus der Abschaltung raushalten
Case Else
For Each Q In W.QueryTables
Q.RefreshPeriod = False
Next
End Select
Next
MsgBox " Data refresh all Pages off !"
End Sub
VG
Yal
Anzeige
AW: RefreshPeriod bei allen sheets to False
05.07.2022 16:33:09
Johannes
Hallo Yal,
Funktioniert prima. Hab mir ein zweites dazu gebastelt, das wieder alle 30 min updatet. Danke schön.
Das mit F2 kannte ich noch gar nicht, super.
Habe noch versucht bei jedem geänderten Blatt die Zelle R1 rot oder grün zu färben mit
Range(R1).Interior.ColorIndex = 3
aber ohne Erfolg.
Danke
Johannes
Zelle muss in "" (sonst bitte Bsp-Mappe) owT
06.07.2022 07:48:58
Pierre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige