Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
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

Hilfe bei Beschleunigung

Hilfe bei Beschleunigung
22.10.2018 13:19:55
Thorsten
Hallo zusammen,
ich benutze den Code unten um aus mehreren XML Files eine Übersicht zu befüllen.
Alles funktioniert so wie ich es möchte...nur es dauert ewig bis die Daten übernommen und umgewandelt sind. Liegt es an meinem Code?
Lässt sich die Sache irgendwie beschleunigen?
Sub Schaltfläche1_Klicken()
For i = 1 To Sheets.Count
Sheets(1).Cells(i, 15) = Sheets(i).Name
Next i
Call Schaltfläche2_Klicken:
End Sub

Sub Schaltfläche2_Klicken()
For i = 2 To Sheets.Count
Sheets(i).Cells(1, 14) = Clear
Sheets(i).Cells(1, 15) = Clear
Sheets(i).Cells(8, 2) = Sheets(i).Name
Sheets(i).Cells(8, 5) = "Grenzwerte Antennendose gemäß DIN EN 60728-1"
Sheets(i).Cells(8, 9) = "Pegel/dBµV"
Sheets(i).Cells(9, 9) = "54-74"
Sheets(i).Cells(9, 8) = "QAM256"
Sheets(i).Cells(8, 12) = "MER/dB"
Sheets(i).Cells(9, 12) = ">32"
Sheets(i).Cells(8, 13) = "C-BER"
Sheets(i).Cells(9, 13) = "26"
Sheets(i).Cells(10, 13) = "
Gruß Thorsten

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Man kann auch Blätter gruppieren
22.10.2018 13:27:09
lupo1
... und dann zusammen in einem Rutsch befüllen. Sind die Blätter vorher leer, könnte man auch ein Blatt einfach mehrmals kopieren.
Manuell ist das höchst gefährlich. Per VBA sorgt man danach aber für die Auflösung der Gruppe und alles ist gut.
Zeichne das Gruppieren einfach mal auf.
AW: Man kann auch Blätter gruppieren
22.10.2018 14:25:40
Thorsten
Ich versuche Mal zu beschreiben was ich genau mache. Ich bekomme aus einem Messgerät xml Files mit unterschiedlichen Namen. Ich füge diese Files als neue Tabellenblätter in meine Exceldatei ein. In der gibt es ein Tabellenblatt "Zusammenfassung" in der die Daten aus den Messergebnis-Tabellenblättern ausgewertet werden. z.B. ob die Messwerte innerhalb der Grenzwerte liegen. Dann wird daraus ein PDF File gemacht und in die Dokumenation geschickt.
Das übertagen der Daten aus den Blättern in das Zusammenfassungsblatt soll per Code erfolgen.
Das Gruppieren habe ich ausprobiert. Bringt nicht die gewünschte Geschwindigkeit.
Anzeige
Was beschleunigen?
22.10.2018 14:33:47
EtoPHG
Hallo Thorsten,
Dein Code, hat nichts, aber auch gar nichts mit dem Import von Daten tun, sondern löscht ein paar Zellinhalte und setzt dann Konstante Werte in andere Zellen.
Dein Problem kann also nichts mit diesen Codefragmenten zu tun haben.
Gruess Hansueli
AW: Was beschleunigen?
22.10.2018 14:54:13
Thorsten
Ich weiss, dass dieser Code nichts mit dem Import von Daten zu tun hat. Auf dem Auswertungsblatt greife ich über eine Indirekt Funktion auf die Werte in den anderen Tabellenbättern zu. Aber irgendwie dauert das alles ewig bis 5 oder 6 Tabellenblätter mit den Sachen aus dem Code umgewandelt wurden und auf dem Auswertungsblatt die Werte erscheinen. Dann kann ich erst daraus ein PDF File Machen. Die Abarbeitung des Codes dauert ewig.
Gruß Thorsten
Anzeige
AW: Was beschleunigen?
22.10.2018 15:07:28
Daniel
Hi
Formeln mit Indirekt haben den Nachteil, dass sie bei jeder Änderung eines Wertes auf einem Exceltabellenblatt neu berechnet werden.
Normale Formeln werden nur dann neu berechnet, wenn die Änderung in einem Zellbereich stattfindet, den die Formel auch verwendet.
(Da bei Indirekt Excel aber nicht direkt auswerten kann, welchen Zellbereich die Formel verwendet sondern dazu erst die Formel berechnen müsste, werden Formeln mit Indirekt eben immer berechnet)
dh wenn möglich sollte man auf INDIREKT verzichten.
zwingend erforderlich ist Indirekt nur dann, wenn der Tabellenblattname "berechnet" wird.
ist der Tabellenblattname jedoch fix, wäre INDEX die bessere Funktion.
wenn du INDIREKT jedoch zwingend brauchst, solltest du die Automatische neuberechnnung von Formeln ausschalten, bevor du die Werte in die Zellen schreibst:
Application.Calculation = xlCalculationManual

hinterher dann wieder einschalten:
Application.Calculation = xlCalculationAutomatic
solltest du noch Eventmakros (SelectionChange, Change) am Start haben, gilt gleiches für die Einstellung:
Application.EnableEvents = False

hinterher
Application.EnableEvents = True

Gruß Daniel
Anzeige
AW: Was beschleunigen?
22.10.2018 15:25:18
Thorsten
Danke Daniel...
Das war es. Problem gelöst...
Gruß Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige