Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA "Find" in UDF

VBA "Find" in UDF
27.08.2004 09:06:37
Frank
Ich bitte um Eure Hilfe!
Problem:
Ich habe eine benutzerdefinerte Funktion geschrieben, die den FIND-Befehl benutzt.
Aus Codenummern in mehreren Zellen sollen die Klartexte zu den Codenummern mehrzeilig in einer Zelle ausgegeben werden.
Anfangs funktionierte diese UDF, danach lieferte der FIND-Befehl immer "nothing" als Resultat.
Als "Sub" geschrieben mit Wertevorgaben innerhalb der "Sub" funktionierts.
Mit dem Debugger sehe ich die gleichen Startwerte für den FIND-Befehl, egal ob als "Sub" oder als "Function" getestet.
Andere Anwender benutzen diese Excel-Datei auch. Kein Schreibschutz.
Spielt die Formatierung der Codenummern eine Rolle?
Welche VBA-Verweise sind erforderlich?
- Microsoft Office 8.0 Objekt Library ist aktiviert.
Wo finde ich Hinweise zu notwendigen Verweisen?
Vielen Dank all denen, die sich für mein Problem Zeit nehmen
von Frank
Aufruf im Tabellenblatt:
=FehlerText(ZS21:ZS25;"Fehlercode")
Hier der Code der Funktion:

Function FehlerText(BereichCodeNr As Range, CodeListe As String) As String
'-- liefert mehrzeiligen Klartext zu Codenummern aus einem mehrzelligen Bereich
'   CodeListe ist der Tabellenname mit dem Fehlercode (Spalte 1) und dem Fehlertext (Spalte 2)
'   BereichCodeNr ist der Bereich, der die auszuwertenden Zellen mit Codenummern enthält
Dim varTemp As Variant, strMessage As String
Dim c As Variant, varCell As Variant
Dim blnFirstValue As Boolean
Dim strOut As String
blnFirstValue = True
For Each c In BereichCodeNr
varTemp = Trim(c.Value)
If Len(varTemp) > 0 Then                                	' leere Zellen möglich
If Not blnFirstValue Then strOut = strOut & Chr(10)   	' nicht vor dem erstem Wert
With ThisWorkbook.Worksheets(CodeListe).Cells(1, 1).EntireColumn
Set varCell = .Find(What:=varTemp, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows)
If Not varCell Is Nothing Then
strMessage = .Cells(varCell.Row, 2).Value
blnFirstValue = False
End If
End With
strOut = strOut & strMessage
End If
Next c
FehlerText = strOut
End Function

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

Betreff
Datum
Anwender
Anzeige
AW: VBA "Find" in UDF
Udo
Find in UDF hat in Excel 97 nie zuverlässig funktioniert, wahrscheinlich ein bug.
Nutze stattdessen eine Sub, auch kein Problem.
Udo
AW: VBA "Find" in UDF
27.08.2004 10:06:34
Frank
Das Makro wurde zuerst in Office 2000 geschrieben und genutzt.
Excel97 könnte also die Ursache sein. Danke
"Sub" nutzen aber wie?
Wie bekomme ich das Ergebnis in die aufrufende Zelle
ohne die Formel zu überschreiben?
Frank
Anzeige

307 Forumthreads zu ähnlichen Themen


Hallo liebe Gemeinde
Ich habe mir vor längerer Zeit von Euch helfen lassen, um in der Spalte A rückwärts nach Text zu suchen.
In Spalte A kam bisher der jeweilige Name einer Abteilung (den suche ich) und laufende Nummern vor, klappt prima mit folgendem Code:
Sub a_String() iRow =...

Hallo Leutz,
ich möchte in einer Zeiterfassung auf einem Monatsblatt das heutige Datum finden, dann in einer anderen Spalte (5 weiter links) eine Uhrzeit eintragen. Zuvor soll aber die Kontrolle erfolgen, ob in der Zelle bereits etwas steht und ob dies kleiner ist, als die aktuelle Zeit. We...

Hallo zusammen,
habe ein Formular mit einem Button "Speichern" und unter anderem ein Feld "Angebotsnr."
Wird der Button Speichern gedrückt soll das Programm den Ordner der im Feld Angebotsnr. eingetragen ist suchen. Dieser Ordner ist zum Zeitpunkt der Erstellung des Formulares im Window...

Hallo zusammen,
habe ein kleines Formular mit zwei "Command-Button".
Bei drücken von "Zufügen" soll die nächst leere Zelle im Bereich "F3:J3500" gesucht werden und ein "x" eingetragen werden.
Bei drücken von "Entfernen" suche im selben Bereich die letzte ausgefüllte Zelle und diese...

Hallo Zusammen,
leider habe ich so ganz wenig Ahnung von VBA, weiß aber auch nicht wie ich mir sonst normal mit
Excel weiterhelfen könnte da es zuviele Daten sind.
Hab folgendes Problem, ich möchte gerne dass alle leeren Zellen in den Spalten B-D mit dem Inhalt der Zellen eine Zeile...

Hallo Excelfreunde,
ich möchte mit einer Formel Zeichen in einen String einfügen. Der String soll wie folgt umgewandelt werden:
121245f12345 = 121245-F-12345
Es soll also vor und hinter dem Buchstaben ein Bindestrich eingefügt werden. Der Buchstabe soll in ein Großbuchstaben gewande...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige