Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
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

Makro mit FIND Funktion anpassen

Makro mit FIND Funktion anpassen
10.11.2021 09:58:53
Sebastian
Hallo zusammen, ich wüsste gerne wie folgende Zeile aussehen müsste wenn ich nach 2 Textstücken suchen möchte.
Formula = "=IF(ISERROR(FIND(""+Y"",B19)),"""",""JA"")"
Das er quasi JA ausgibt wenn "X" und "Y" gefunden wurden.
Danke schon mal ;)

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 10:07:41
EtoPHG
Hallo Sebastian,
=IF(ISERROR(FIND("Y",B19)*FIND("X",B19)),"","JA")
Gruess Hansueli
AW: Makro mit FIND Funktion anpassen
10.11.2021 10:12:41
Sebastian
Hi Hansueli, ich hab die Zeile jetzt mal in mein Makro gepackt das vorher halt nur ein Wert finden sollte. So läuft es allerdings nicht :(

Sub finde_hütchen()
Range("J19:J" & Rows.Count).ClearContents
With Range("J19:J" & Cells(Rows.Count, 2).End(xlUp).Row)
.Formula = "=IF(ISERROR(FIND("Y",B19)*FIND("^",B19)),"","JA")"
.Value = .Value
End With
End Sub

AW: Makro mit FIND Funktion anpassen
10.11.2021 10:20:47
EtoPHG
Hallo Sebastian,
Mühsam ernährt sich das Eichhörnchen.
Was soll Helfer mit deiner Aussage "So läuft es allerdings nicht :(" anfangen?
Woher soll ich wissen, was in deiner Zelle B19 für ein Wert steht?
Lade eine Beispielmappe hoch mit dem Makro, und den Werten wie du sie erwartest!
Gruess
P.S. Ich nehme dir den Level Excel gut nicht ab.
Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 10:30:08
Sebastian
Hi, ich kann von dem PC hier leider nichts hochladen. Er sagt Syntax Error. Das Makro was vorher funktionierte und einen Wert suchte sah so aus

Sub finde_hütchen()
Range("J19:J" & Rows.Count).ClearContents
With Range("J19:J" & Cells(Rows.Count, 2).End(xlUp).Row)
Formula = "=IF(ISERROR(FIND(""+Y"",B19)),"""",""JA"")"
.Value = .Value
End With
End Sub

AW: Makro mit FIND Funktion anpassen
10.11.2021 10:34:42
Daniel
Hi
vor dem Formula fehlt der Punkt.
ohne den Punkt ist es eine eigenständige Variable
mit dem Punkt ist es die Fortführung des bei WITH definierten Objektes.
Gruß Daniel
Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 10:34:43
EtoPHG
Hallo,
Das Wiederholen von schon gepostetem Code, hilft nun wirklich nicht weiter!
Wenn Du nicht einmal einen Syntax-Error auflösen kannst, dann kann ich auch nicht weiterhelfen und höchstens die Empfehlung abgeben "Bilde Dich weiter!".
Gruess Hansueli
AW: Makro mit FIND Funktion anpassen
10.11.2021 11:07:18
Sebastian
Ich habe den Code jetzt soweit angepasst, sieht für mich nicht vollkommen falsch aus, aber er findet nichts. Aber Dafür kein Syntax Error :D

Sub finde_hütchenundy()
Range("J19:J" & Rows.Count).ClearContents
With Range("J19:J" & Cells(Rows.Count, 2).End(xlUp).Row)
Formula = "=IF(AND(ISERROR(FIND(""^"",B19)),ISERROR(FIND(""Y"",B19))),"""",""JA"")"
.Value = .Value
End With
End Sub

Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 11:59:15
Daniel
Hi
Da fehlt der Punkt vor dem "Formular".
Erst durch dem Punkt davor wird es zur Weiterführung des bei "With" angegeben Ausdrucks.
Ohne den Punkt ist das "Formula" ein eigenständiger Ausdruck und du hast hier eine Zuweisung des Textes an die Variable "Formula", welche du aber nicht deklariert hast.
Gruß Daniel
AW: Makro mit FIND Funktion anpassen
10.11.2021 12:13:16
Sebastian
Ahhhh der Punkt :D Besten Dank. Aber er gibt jetzt wenn die erste Bedingung erfüllt ist, schon JA aus. Sollte er nicht beide in Kombination abfragen ?
AW: Makro mit FIND Funktion anpassen
10.11.2021 12:23:13
Daniel
Er fragt auch beide Kombinationen ab.
Denk nochmal über deine Bedingung nach.
IsError(Find()) ergibt WAHR, wenn der Suchbegriff nicht enthalten ist.
Willst du ein WAHR, wenn der Suchbegriff enthalten ist, solltest du IsNumber verwenden in der deutschen Formel dann IstZahl statt IstFehler.
Gruß Daniel
Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 12:28:42
Sebastian
Ah okay du hast recht ... Aber so klappt komischer Weise

Sub finde_hütchenundy()
Range("J19:J" & Rows.Count).ClearContents
With Range("J19:J" & Cells(Rows.Count, 2).End(xlUp).Row)
.Formula = "=IF(OR(ISERROR(FIND(""^"",B19)),ISERROR(FIND(""Y"",B19))),"""",""JA"")"
.Value = .Value
End With
End Sub

AW: Makro mit FIND Funktion anpassen
10.11.2021 12:39:21
Sebastian
Bei 3 Bedingungen allerdings komme ich bei den Klammern nicht klar: D zumindest meckert er hier :(

.Formula = "=IF(OR(ISERROR(FIND(""SCH"",B19),ISERROR(FIND(""Y"",B19),ISERROR(FIND(""°°"",B19)))"""",""JA"")"

Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 12:43:12
Daniel
Hi
Fehler in der Klammersetzung: IsError(Find(...))
Gruß Daniel
AW: Makro mit FIND Funktion anpassen
10.11.2021 12:51:20
Sebastian
Sorry ich verstehe es nicht :( Egal wie ich sie setze es klappt nicht. Wärst du so nett sie einmal zu setzen, damit ich sehe wie es aussehen muss bei 3 Bedingungen ?

.Formula = "=IF(OR(ISERROR(FIND(""SCH"",B19),ISERROR(FIND(""Y"",B19),ISERROR(FIND(""°°"",B19)))"""",""JA"")"

AW: Makro mit FIND Funktion anpassen
10.11.2021 12:59:12
Daniel
schau dir doch deine alte funktionierende Formel noch mal an.
da siehst du den Unterschied (schau vor allem auf das erste IsError)
Gruß Daniel
AW: Makro mit FIND Funktion anpassen
10.11.2021 13:08:34
Sebastian
Ich raffe es nicht :D

.Formula = "=IF(OR(ISERROR(FIND(""SCH"",B19)),ISERROR(FIND(""Y"",B19))),ISERROR(FIND(""°°"",B19))))"""",""JA"")"

Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 13:25:59
Pierre
Hallo Sebastian,
jetzt hast du zu viele drin... Zähl ruhig mal nach ;-)
Beim Y eine ) zu viel, beim °° auch eine ) zu viel.
Gruß Pierre
AW: Makro mit FIND Funktion anpassen
10.11.2021 13:33:42
Daniel
was ist so schwer daran?
nach jedem IsError(Find()) brauchst du 2 schließende Klammern, eine für das IsError und eine für das FIND.
beim letzten kommt dann noch die schließende Klammer des OR hinzu, da stehen dann 3 schließende Klammern hintereinander.
schreib die Formel doch erstmal direkt in die Zelle, bis sie funktioniert.
Da hilft dir Excel ja auch durch einfärbung der Klammern und konkreteren Hinweisen, was nicht stimmt.
Wenn die Formel dann in der Zelle stimmt, kannst du sie so in den Code übernehmen (am besten nocheinmal eingeben und das mit dem Recorder aufzeichnen)
Gruß Daniel
Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 13:45:36
Sebastian
Das habe ich ja verstanden :) ... Objektdefinierter Fehler...

.Formula = "=IF(OR(ISERROR(FIND(""SCH"",B19)),ISERROR(FIND(""Y"",B19)),ISERROR(FIND(""°°"",B19)))"""",""JA"")"

AW: Makro mit FIND Funktion anpassen
10.11.2021 14:38:30
Daniel
jetzt hast du das Komma zwischen dem ersten und zweiten Parameter der WENN / IF - Funktion gelöscht
Solche Fehler in Formeln sollte man bei Excel - gut eigentlich erkennen können. das hat jetzt nicht mit der Programmierung zu tun, der Formeltext ist ja - abgesehen von den englischen bezeichnungen - in Formel und VBA-Code der gleiche.
Außerdem, hast du schon mal gemacht, was ich dir geraten, habe, nämlich die Formel erstmal von Hand in die Zelle zu schreiben, damit du weißt, wie sie überhaupt aussehen muss bevor du sie mit VBA programmierst ?
sorry ein bisschen mitarbeit von dir ist schon erforderlich.
Gruß Daniel
Anzeige
AW: Makro mit FIND Funktion anpassen
12.11.2021 13:36:34
Sebastian
Hi Daniel, ich habe versucht die Formel so zum laufen zu bekommen ohne Makro. Klappt genau so wenig. Tut mir leid wenn ich nerve mit dem Thema aber ich finde den Fehler ( Abgesehen vom Komma ) nicht. Wärst du so nett mir zu helfen ?
AW: Makro mit FIND Funktion anpassen
15.11.2021 13:46:13
EtoPHG
Hallo Sebastian,
Kann das wirklich so schwer sein? Ich zweifle an deinen Levelangaben!
Die Formel in einer Zelle:

WENN(ODER(ISTFEHLER(FINDEN("SCH";B19));ISTFEHLER(FINDEN("Y";B19));ISTFEHLER(FINDEN("°°";B19)));"";"JA")
Die Formel via VBA in eine Zelle:

.Formula = "=IF(OR(ISERROR(FIND(""SCH"",B19)),ISERROR(FIND(""Y"",B19)),ISERROR(FIND(""°°"",B19))),"""",""JA"")"
Gruess Hansueli
Anzeige
AW: Makro mit FIND Funktion anpassen
10.11.2021 12:41:03
Daniel
warum komischerweise?
das klappt hier logischerweise.
du solltest dich mal mehr mit den Logikfunktionen UND und ODER beschäftigen.
bei ODER bekommst du ein WAHR, sobald in der Menge ein einziges WAHR vorhanden ist. FALSCH gibts nur dann als Ergebnis, wenn alle elemente FALSCH sind.
bei IsError(Find()) bekommst du ein FALSCH, wenn der gesuchte Text im Gesamttext enthalten ist und ein WAHR, wenn er nicht vorhanden ist.
Zugegeben, wenn man "negative" Bedingungsprüfungen baut, hat man schnell einen Knoten im Hirn, aber es ist und bleibt logisch, nicht komisch
Gruß Daniel
AW: Makro mit FIND Funktion anpassen
10.11.2021 10:16:08
Daniel
Hi
probiers mal mit der Formel:

=Wenn(ZählenWenn(B19;"*X*")*ZählenWenn(B19;"*Y*");"Ja";"")
oder mit

=WENN(UND(ISTZAHL(FINDEN({"X";"Y"};B19)));"JA";"")
wenn X und Y in festgelegter Reihenfolge stehen, könnte auch das funktionieren, allerdings muss dann X vor Y stehen

=Wenn(IstZahl(Finden("*X*Y*";B19));"JA";"")
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige