Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suchmakro funktioniert als Funktion nicht mehr

Suchmakro funktioniert als Funktion nicht mehr
12.08.2004 14:42:36
th0mas
Hi!
Ich möchte diesen Code als Funktion implementieren. Habe eine suchfunktion aus diesem Forum eingebaut. Funktioniert recht gut als Makro mit Texteingabe für den Suchstring, aber in dieser Funktion findet er nie die gesuchten Einträge obwohl vorhanden (und vom Makro gefunden). Kann mir jemand helfen?

Function plgrowth() As Variant
Application.Volatile
Dim pl As String
Dim oldValue As Variant
Dim newValue As Variant
Dim suchErg As Variant
pl = Application.Caller.Offset(0, -3).Value
oldValue = Application.Caller.Offset(0, -2).Value
newValue = Application.Caller.Offset(0, -1).Value
Sheets("Translation").Activate
Set suchErg = Sheets("Translation").Cells.Find(pl)
If Not suchErg Is Nothing Then
plgrowth = "Error"
Else
If ((oldValue = 0) Or (newValue = 0)) Then
plgrowth = ""
Else
plgrowth = (newValue / oldValue) - 1
End If
End If
Set suchBereich = Nothing
End Function

Anzeige
AW: Suchmakro funktioniert als Funktion nicht mehr
Ulf
Find in Functions war wohl in deiner Excelversion ein Bug, will sagen, funktioniert nicht.
Ulf
AW: Suchmakro funktioniert als Funktion nicht mehr
12.08.2004 14:50:52
th0mas
Oder sieht jemand einen Programmierfehler? Falls es wirklich ein Bug ist, wie kann ich mein Problem anders lösen?
Muss ein Sheet nach einem bestimmten Eintrag (pl) durchsuchen und will dann dessen Spalte/Zeile wissen, mehr nicht.
Anzeige
AW: Suchmakro funktioniert als Funktion nicht mehr
Ulf
Warum muss es denn eine Function sein?
Ulf
AW: Suchmakro funktioniert als Funktion nicht mehr
12.08.2004 15:03:59
th0mas
Ich wüsste nicht wie ichs anders machen soll. Die Suche ist nur ein Teil der Function.
Falls der wert gefunden wird soll ein anderer berechnet und zurückgegeben werden.
Falls nicht kann normal der prozentsatz berechnet werden.
Ich muss diese Function aber für bis zu 100 einträge anwenden - deswegen erscheint mir die Implementierung als function logisch.
Anzeige
AW: Suchmakro funktioniert als Funktion nicht mehr
Ulf
Du kannst den Wert ebenso an eine Variable übergeben. Ohne den Zusammenhang zu kennen,
wirds wieder das heitere Ratespiel.
Ulf
AW: Suchmakro funktioniert als Funktion nicht mehr
13.08.2004 11:38:04
th0mas
Danke für die Tipps. Funktioniert mittlerweile schon, allerdings musste ich mein Office auf XP updaten. HAt in der 2000er Version tatsächlich einen Bug.
Als Sub hab ichs vorher auch schon probiert funktionierte aber auch nicht.
Anzeige
AW: Suchmakro funktioniert als Funktion nicht mehr
Luschi
Hallo Thomas,
es dürfte wohl die letzte Zeile vor End

Sub sein, die den Fehler verursacht.
Statt Set suchBereich = Nothing müßte es wohl
Set suchErg = Nothing heißen.
Habe es gerade mal in Excel 2003 ausprobiert. Sobald ein klitzekleiner Programmier-
fehler drin ist, wird abgebrochen und in der Zell erscheint #Wert!. Da kann mach
sich richtig "tot"-Suchen.
So funktioniert bei mir die Funktion:

Function plgrowth() As Variant
Application.Volatile
Dim pl As Variant
Dim oldValue As Variant
Dim newValue As Variant
Dim suchErg As Variant
pl = Application.Caller.Offset(0, -3)
oldValue = Application.Caller.Offset(0, -2).Value
newValue = Application.Caller.Offset(0, -1).Value
Sheets("Translation").Activate
Set suchErg = Sheets("Translation").Cells.Find(pl)
If suchErg Is Nothing Then
plgrowth = "Error"
Else
If ((oldValue = 0) Or (newValue = 0)) Then
plgrowth = ""
Else
plgrowth = (newValue / oldValue) - 1
End If
End If
Set suchErg = Nothing
End Function

Gruß von Luschi
aus klein-Paris
Anzeige
AW: Suchmakro funktioniert als Funktion nicht mehr
12.08.2004 15:28:34
th0mas
Danke für die Hilfen, es funktioniert bei mir leider immer noch nicht. Vl ist es wirklich ein versionsabhängiger Bug. Kann man das auch irgendwie anders lösen? Was ich machen will:
ich habe eine Tabelle [PL][Zahl][Zahl][=Formel]
und das 20-100 spalten.
Nun soll die Formel die prozentuelle Änderung berechnen, ABER NUR wenn der Wert von [PL] NICHT in einem anderen Worksheet namens "Translation" vorkommt. Es ist das ganze Sheet abzusuchen. Kommt es vor wird anhand von Spalte & Reihe des gesuchten Eintrages entschieden/berechnet was statt der prozentuellen Änderung angezeigt werden soll.
Anzeige
AW: Suchmakro funktioniert als Funktion nicht mehr
Bert
Du hast doch die Antwort schon erhalten, benutz keine Function sondern eine Sub.
Gruß Bert
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige