Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
124to128
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
124to128
124to128
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

schlechte Performance, aber warum?

schlechte Performance, aber warum?
04.06.2002 08:44:45
rainer
Hallo! Ich habe unten gelistetes Coding. An der markieren Stellen dauert es relativ lange bis Excel die zwei Befehle ausgeführt hat. Habe ich da ungeschickt programmiert? Wer kann mir hier weiterhelfen?
Vielen Dank
Rainer
Hier das Coding:
tb1.Select
With tb1.Range("a6:aa6")
Set zelle = .Find("PI", LookIn:=xlValues)
If Not zelle Is Nothing Then
quellspalte_pi = zelle.Column
End If
Set zelle = .Find("V0", LookIn:=xlValues)
If Not zelle Is Nothing Then
quellspalte_v0 = zelle.Column
End If
End With
'-------------------------------------------------------------
'----werte in Indexverlauf eintragen
'-------------------------------------------------------------
For Each zelle In tb1.Range(Cells(7, 25), Cells(lr_download, 25))
schlüssel = zelle.Value
rewert = Cells(zelle.Row, quellspalte_v0).Value
Index = Cells(zelle.Row, quellspalte_pi).Value
mat = Cells(zelle.Row, 5).Value
lief = Cells(zelle.Row, 3).Value
lname = Cells(zelle.Row, 4).Text
On Error Resume Next
zeile_gefunden = Application.Match(schlüssel, arr_bereich, 0)
'--wenn treffer, dann wert in zeile eintragen
If zeile_gefunden > 0 Then
'-------> hier ist mein Problem!!!!!!!!!!!!!!!!!!!
tb2.Cells(zeile_gefunden, spalte).Value = Index
tb2.Cells(zeile_gefunden, spalte + 1).Value = rewert
'---ab hier geht es wieder zügig
End If
'-- wenn kein treffer, dann neue zeile
If zeile_gefunden < 1 Then
lr_index = tb2.Cells(Rows.Count, 1).End(xlUp).Row
tb2.Cells(lr_index + 1, spalte).Value = Index
tb2.Cells(lr_index + 1, spalte + 1).Value = rewert
tb2.Cells(lr_index + 1, 2).Value = lief
tb2.Cells(lr_index + 1, 4).Value = mat
tb2.Cells(lr_index + 1, 3).Value = lname
tb2.Cells(lr_index + 1, 1).Formula = "=CONCATENATE(B" & lr_index + 1 & ",D" & lr_index + 1 & ")"
End If
Next zelle

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: schlechte Performance, aber warum?
04.06.2002 10:08:34
Hans W. Hofmann
Hallo auch,

naja jeder Eintrag in eine Zelle löst eine Neuberechnung des Tabellenblattes aus. Das bremst...

Gruß HW

na klar......
04.06.2002 11:35:54
rainer
Hallo Hans! Natürlich hast du recht!! Ich habe am Anfang application.calculation=false gesetzt umd am Schluß wieder auf true gesetzt und siehe da es geht viiiiel schneller... ;-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige