Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

WorksheetFunction.Find Methode
#11
Hallo,

dann erläutere doch bitte, am besten am Beispiel, was die Funktion Deiner Meinung nach machen soll. Offensichtlich erwartest Du etwas , was die Funktion nicht kann.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#12
Hallo da bin ich nochmal,

bin im Internet jetzt doch noch fündig geworden:


Code:
Sub Test_Demo_Worksheet_Function()
   zSuch = "abc"
   zKette = "1245678910abc"
   Ziffer = Application.WorksheetFunction.Find(zSuch, zKette)
   Debug.Print Ziffer
End Sub

Das Dingen funktioniert und damit ist für mich dann doch klar, eine Funktion wirklich für die Tonne!
Denn wir haben ja auch noch das allseits bekannte inStr, dann mid und last but not least die ganzen Methoden die ihr hier beschrieben habt.
Wofür brauche ich sowas?! - Allein Microsoft weiß die Antwort.
Antworten Top
#13
Hallo Christa!
Vielleicht mal Grundlagenwissen:
VBA ist eine Untermenge von VB, ergänzt um anwendungsspezifische Befehle (deshalb ja auch Visual Basic for Applications).
Es liegt deshalb in der Natur der Sache, dass es zum Teil Überschneidungen gibt.
Ob jetzt für Dich eher InStr() oder Worksheetfunction.Find() "für die Tonne" sind, kannst nur Du entscheiden.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#14
Noch eine Anmerkung:
Es gibt durchaus Methoden, wo die Anwendung einer WsFct. oder Excel-Methode sinnvoller und auch schneller ist, als die mittels VB(A).
Auf Anhieb fällt mir da Duplikate entfernen ein.

(@snb: prophylaktisch der Hinweis, dass ein Dictionary KEIN VBA ist)

Two Cents

Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#15
application.find("such","anderes") = worksheetfunction.find("such","anderes") =application.worksheetfunction.find("such","anderes") = "=find("suchstring", "andere string")

hier ist 'find' nur die VBA übersetzung von die Excel Formel:  "=find("suchstring", "andere string")
Das Ergebnis ist ein Zahl.

In Vba ist die Pendant: Instr("andere string","suchstring")

die Excel Methode Range.Find ist gar etwas anderes.
Das Ergebnis ist ein Range.
Antworten Top
#16
Hallöchen,

zweie hätt' ich noch, Formel steht in B2:

Application.Evaluate("FIND(""b"",A2,1)")
Application.Evaluate("B2")

Das zweite Beispiel ermöglicht den direkten Zugriff auf die Formel im Excelblatt.

Wenn man die Berechnung auf manuell stellt, die zu untersuchende Zelle ändert und das b dabei raus nimmt, bekommt man mit 3 verschiedenen Varianten -- die dritte wäre

WorksheetFunction.Find("b", Range("A2"), 1)

3 verschiedene Ergebnisse. Das hat zuweilen auch seinen Reiz.
Die erste bringt einen Fehler 2015, die zweite den zuletzt berechneten Wert, die dritte bringt einen Fehler zum Debuggen Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste