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

Schnelligkeit einer Funktion / Herbers CD

Schnelligkeit einer Funktion / Herbers CD
13.05.2005 23:00:06
Erich
Hallo EXCEL-Freunde,
habe mir von Herbers CD diese Funktion geholt:

Function sSVERWEIS( _
varA As Variant, _
varB As Variant, _
rng As Range)
Dim rngAct As Range
For Each rngAct In rng.Columns(1).Cells
If rngAct.Value = varA Then
If rngAct.Offset(0, 1).Value = varB Then
sSVERWEIS = rngAct.Offset(0, 2).Value
Exit Function
End If
End If
Next rngAct
End Function

Geht soweit einwandfrei. Allerdings habe ich jetzt das Problem, dass die Funktion
in einer Spalte mit knapp 4.000 Zeilen steht.
Und jetzt dauert der Rechenvorgang extrem lang. Kann man die Schnelligkeit
da verbessern? Oder ist bei derartigen selbergestrickten Funktionen
generell dieses Problem vorhanden?
Besten Dank für eine Info!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schnelligkeit einer Funktion / Herbers CD
13.05.2005 23:09:05
Heiko
Hallo Erich,
erweitere den Code mal folgendermaßen.

Function sSVERWEIS( _
varA As Variant, _
varB As Variant, _
rng As Range)
Dim rngAct As Range
Application.Screenupdating = False
Application.Calculation = xlCalculationManual
For Each rngAct In rng.Columns(1).Cells
If rngAct.Value = varA Then
If rngAct.Offset(0, 1).Value = varB Then
sSVERWEIS = rngAct.Offset(0, 2).Value
Application.Screenupdating = True
Application.Calculation = xlCalculationAutomatic
Application.Calculate
Exit Function
End If
End If
Next rngAct
Application.Screenupdating = True
Application.Calculation = xlCalculationAutomatic
Application.Calculate
End Function

Gruß Heiko
PS: Rückmeldung wäre nett
Anzeige
AW: Schnelligkeit einer Funktion / Herbers CD
14.05.2005 07:16:19
Erich
Hallo Heiko,
danke; werde das mit Screenupdating mal probieren (kann ich aber erst am Dienstag). Automatisches Berechnen habe ich
generell ausgeschlossen; ich mache das imme mit F9.
(aufgrund Rückmeldung von Bert wird die Problematik nochmals sehr deutlich)
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com
AW: Schnelligkeit einer Funktion / Herbers CD
13.05.2005 23:53:07
Bert
Hi,
Excelfunktionen sind ca. 10.000 mal schneller als UDF.
mfg Bert
Danke - macht mein Problem klar; o.T.
14.05.2005 07:17:04
Erich
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
EXCEL und Lottogewinne machen glücklich: http://48678.rapidforum.com
Anzeige
ohne vba
14.05.2005 19:45:55
Reinhard
Hallo Erich,
aus excelformeln.de:
=INDEX(C1:C1000;VERGLEICH("x"&"y";A1:A1000&B1:B1000;0))
liefert Ergebnis aus Cx wenn Ax="x" und Bx="y"
Matrixformel, mit Strg+Shuft+Enter eingeben
Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige