Registriert seit: 05.08.2014
Version(en): 2013
Hallo Leute,
ich möchte nur mal kurz die WorksheetFunction.Find - Methode ausprobieren. Aber es klappt leider nicht. Was mache ich falsch?
Code:
Sub Test()
Dim vb As Variant
vb = WorksheetFunction.Find("Tabelle1", "D1:H19", "Computer")
Debug.Print vb
End Sub
Registriert seit: 13.04.2014
Version(en): 365
08.03.2016, 13:33
(Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2016, 13:34 von BoskoBiati.)
Hallo,
naja, VBA ist etwas anderes als Formeln! So funktioniert es, wenn Du die Adresse willst:
Code:
Option Explicit
Sub Test()
Dim RaB As Range
Dim rng As Range
Set rng = Sheets("Tabelle3").Range("D1:H19")
Set RaB = rng.Find(what:="Computer", lookat:=xlWhole)
Debug.Print RaB.Address
End Sub
Man kann dazu auch in der Hilfe nachschlagen!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 14.04.2014
Hallo Christa,
die Find-Methode muss immer sauber (d. h. komplett) verwendet werden:
Code:
Option Explicit
Sub Test()
Dim WkSh As Worksheet
Dim rZelle As Range
Dim sFundst As String
' vb = WorksheetFunction.Find("Tabelle1", "D1:H19", "Computer")
Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
With WkSh.Range("D1:H19")
Set rZelle = .Find(What:="Computer", LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
Debug.Print rZelle.Address
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address <> sFundst
Else
MsgBox "Der gesuchte Begriff ""Computer"" wurde nicht gefunden.", _
48, " Hinweis für " & Application.UserName
End If
End With
End Sub
Gruß Peter
Registriert seit: 29.09.2015
Version(en): 2030,5
08.03.2016, 14:31
(Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2016, 14:31 von snb.)
Eine Excel Formel <> eine Excel Methode.
Code:
Sub M_snb()
MsgBox Application.Find("Tabelle1", "keineTabelle198")
MsgBox Application.Find("Tabelle1", "keinetabelle198")
msgbox instr("keineTabelle198","Tabelle1")
msgbox instr("keinetabelle198","Tabelle1")
MsgBox Sheet1.Cells.Find("string", , , 1).Address
End Sub
Registriert seit: 05.08.2014
Version(en): 2013
Hallöchen,
danke zunächst mal für eure Mühe. Diese Suchmöglichkeiten kannte ich allerdings schon. Ich dachte dass WorksheetFunction.Find
neue Wege eröffnen würde, fand aber nichts im Internet. Ich gehe jetzt davon aus, dass die Funktion nur für die Tonne reicht.
Ergänzung / Verdeutlichung fürs Forum im allgemeinen:
Code:
Sub Groß_und_Klein_Bei_InStr_Suche_im_String()
'Einfluß der Groß- und Kleinschreibung je nach Methodenvergleich auf die Suchergebnisse:
Debug.Print "Groß-Klein-egal Stelle:" & InStr(1, "Satz der Wort Tabelle enthält", "tAbelLe", vbTextCompare)
Debug.Print "Groß-Klein-nichtegal " & InStr(1, "Satz der Wort Tabelle enthält", "tAbelLe", vbBinaryCompare)
End Sub
Registriert seit: 13.04.2014
Version(en): 365
Hallo,
Zitat:dass die Funktion nur für die Tonne reicht
das Einzige, was momentan für die Tonne reicht, sind Deine Erklärungen. Keiner weiß was Du willst und woran es klemmt. Find in VBA hat nichts mit FINDEN in den Formeln zu tun. Groß- und Kleinschreibung ist sowohl in Formeln als auch in VBA häufig bedeutungslos. Wenn man darauf Wert legt, dann muß man sich auch der entsprechenden Funktionen bedienen.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 05.08.2014
Version(en): 2013
@BoskoBiatiGut, dann machen wir es doch anders herum. Gebt mir am besten irgendwelche Beispiele was man mit "WorksheetFunction.Find" machen kann.
Denn genau das ist ja das Problem. Ich weiß es nicht!! Folglich wäre das Lernen an Beispielen das Beste.
[url=http://www.clever-excel-forum.de/User-BoskoBiati][/url]
Registriert seit: 13.04.2014
Version(en): 365
Hallo,
vielleicht bemühst Du ja mal die Suche im Forum, da gibt es genug Beispiele!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 29.09.2015
Version(en): 2030,5
08.03.2016, 17:32
(Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2016, 17:32 von snb.)
Registriert seit: 05.08.2014
Version(en): 2013
@SNB
Sorry SNB auch wenn ich deinen Code sonst sehr schätze aber das sehe ich hier nicht.
WorksheetFunction.Find()
d.h. für mich ich habe eine Methode von WorksheetFunction, schreibe also in meinem Code WorksheetFunction.Find dann schreibe ich etwas hübsches in die sich anschließenden Klammern und bekomme irgendetwas hübsches heraus. Das wars.
Analogie z.B. bei der Erzeugung von Zufallszahlen:
av = Application.WorksheetFunction.RandBetween(1, 20)
Ich nehme die Funktion RandBetween schreibe was hübsches in die Klammern rein und bekomme die Zufallszahl über einen angegeben Bereich hinaus.
That's it.
Wo steht das hier??