Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1000to1004
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

sehr langsam

sehr langsam
13.08.2008 09:47:00
sbello
hallo liebe leute,
ich schaffe es einfach nicht festzustellen warum mein code so langsam meine zellen füllt.
habe ne userform mit textboxen, beim "klick" auf CBVUAnlegen, soll ein neuer datensatz geschrieben werden, nur macht er das für die einzelnen zellen, extrem langsam.

Private Sub CBVUAnlegen_Click()
Dim i As Long
With Sheets("VU")
i = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(i, 1) = TextBox1
.Cells(i, 2) = TextBox3
.Cells(i, 3) = TextBox2
.Cells(i, 5) = TextBox4 * 1
.Cells(i, 6) = TextBox5 * 1
.Cells(i, 7) = TextBox6 * 1
.Cells(i, 8) = USER
.Cells(i, 9) = DATUM
.Cells(i, 10) = TextBox7
Dim Formula1    As String
Formula1 = "=SUMIF(BR!E:E,VU!A" & i & "," & "BR!F:F)"
.Cells(i, 4).Formula = Formula1
End With
Sheets("VUID").Cells(1, 1).Value = Sheets("VUID").Cells(1, 1).Value + 1
Unload Me
VUAnlegen.Show
End Sub


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sehr langsam
13.08.2008 10:13:01
Rudi
Hallo,
Application.ScreenUpdating=False/ True wirkt Wunder.
Gruß
Rudi

AW: sehr langsam
13.08.2008 10:24:00
sbello
hallo rudi,
hat nichts gebracht....
habe gerade festgestellt, die anderen userformen sind auch etwas langsammer als am anfang, mit was kann das zusammen hängen

AW: sehr langsam
13.08.2008 10:36:00
Rudi
Hallo,
Tabellen werden größer, aufwändige Berechnungen, Change/ SelectionChange-Events, ....
Gruß
Rudi

AW: sehr langsam
13.08.2008 10:40:24
sbello
hatte mal die version von gestern durchlaufen lassen, die funzt ohne probleme........
werde noch mal weitersuchen.
vielleicht hast ja noch den ein oder anderen tipp
gruß zurück

Anzeige
AW: sehr langsam
13.08.2008 12:57:00
Daniel
Hi
deine Datentabelle enthält für jede Zeile eine SummeWenn-Formel.
(und vielleicht noch andere Formeln).
Diese werden immer neu berechnet, wenn sich im angegeben Zellbereich was ändert und Summe-Wenn Formeln sind halt nun mal langsam.
abhilfen, die du mal versuchen könntest, wären:
- Applicaton.Calulation abschalten (hinterher wieder einschalten nicht vergessen)
- die Textboxenergebnisse auf einen Schlag zurückschreiben und nicht einzeln (damit sollte dann nur eine neuberechnung stattfinen). das wäre der Code dazu: (nicht getestet, da keine Beispieldatei vorhanden Ist)

Private Sub CBVUAnlegen_Click()
Dim i As Long
Dim Formula1    As String
Dim Eingabe(1 To 1, 1 To 10)
With Sheets("VU")
i = .Cells(Rows.Count, 1).End(xlUp).Row + 1
'hier bitte die landesspzifische Zeile auswählen
Formula1 = "=SUMIF(BR!E:E,VU!A" & i & "," & "BR!F:F)"
Formula1 = "=SummeWenn(BR!E:E;VU!A" & i & ";" & "BR!F:F)"
Eingabe(1, 1) = TextBox1
Eingabe(1, 2) = TextBox3
Eingabe(1, 3) = TextBox2
Eingabe(1, 4) = Formula1
Eingabe(1, 5) = TextBox4 * 1
Eingabe(1, 6) = TextBox5 * 1
Eingabe(1, 7) = TextBox6 * 1
Eingabe(1, 8) = USER
Eingabe(1, 9) = DATUM
Eingabe(1, 10) = TextBox7
.Cells(i, 1).Resize(1, 10) = Eingabe
End With
Sheets("VUID").Cells(1, 1).Value = Sheets("VUID").Cells(1, 1).Value + 1
Unload Me
VUAnlegen.Show
End Sub


Gruß, Daniel

Anzeige
AW: sehr langsam
13.08.2008 13:23:11
sbello
hallo daniel,
dein code funktioniert gut, ist schon um einiges schneller. die textboxen auf einen schlag zu übergeben bringt deutliche vorteile, hatte auch schon soweit gedacht, aber eben keine möglichkeit gesehen - geniale lösung! danke! werde das bei meinen anderen userformen auch versuchen.
application.calulation? wie einsetzen?
danke für die hilfe!
gruß
stefano

AW: sehr langsam
13.08.2008 14:02:17
Daniel
hI
Application.Caluclation = xlManual
... hier der Code
Application.Calulation = xlAutomatic
verhindert, daß während des Codeablaufs die Zellen mit Formeln neu berechnet werden.
das kann sich in Dateien mit vielen und langsamen Formeln positiv auf die Geschwindigkeit auswirken, könnte aber auch das Ergebis verfälschen (das muss man halt testen)
auf jeden Fall sollte man nicht vergessen, am ende wieder die Ursprungseinstellung herzustellen
Gruß, Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige