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

Teilstring suchen und Address ausgeben

Teilstring suchen und Address ausgeben
26.12.2017 20:06:15
Ralf
Habe da 'mal eine Frage. Ich möchte zum Abschluss meines Berufslebens meine Kollegen mit einer kleinen VBA für Excel 2016 "beglücken".
Die bisher ausschließlich händische Arbeit für diese Aktion ist enorm zeitintensiv und langweilig, sowie, da ausschließlich manuelles Abtippen, fehlerträchtig.
Bin eigentlich mit dem Programm nahezu fertig, was mir noch fehlt, ist die Suche nach einem bestimmten Teilstring innerhalb eines Textes in einer beliebigen Tabellenzelle.
Konkret: Irgendwo in der Tabelle in einer Zelle steht der String: "RL v. 14.09.2017, RL-Nr. 19265 RL-Schein R/17381" wobei der Text nach "RL v." immer anders lautet.
Nun möchte ich die Zelle (Address?), in der sich der String befindet über den Teilstring "RL v." anzeigen lassen.
Wie kann ich das am besten realisieren?
Suche seit Tagen nach entsprechenden Hilfen in div. Foren - ohne Ergebnis :-(.
Spaltenweises Suchen habe ich gefunden, nur nichts für eine komplette Tabelle.
Geht da irgendwas mit .Find()?
Schon 'mal herzlichen Dank für jede Hilfe!!!!
Ralf

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilstring suchen und Address ausgeben
26.12.2017 20:34:36
Sepp
Hallo Ralf,
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub suchen()
Dim objRange As Object

With Sheets("Tabelle1") 'Tabellenname anpassen!
  Set objRange = .UsedRange.Find(What:="RL v.", LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False, SearchFormat:=False)
  If Not objRange Is Nothing Then
    objRange.Select 'als Beispiel! objRange enthält die gefundene Zelle!
  End If
End With

Set objRange = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Teilstring suchen und Address ausgeben
26.12.2017 22:16:40
Ralf
Hallo Sepp,
danke für deine Antwort. Habe mich bei meiner Frage wohl nicht "VBA-gerecht" ausgedrückt.
Ich hätte gerne als Ergebnis die Zellen-Adresse in der sich der String befindet, z.B. ($D$8).
Deine Lösung bringt mir mit der Variablen objRange scheinbar den kompletten Zelleninhalt als String und nicht die Zellen-Adresse.
Kannst du mir hier weiterhelfen?
AW: Teilstring suchen und Address ausgeben
26.12.2017 22:20:39
Sepp
Hallo Ralf,
ja und mit objRange.Address hast du die Adresse.
Wobei ich die Adresse nur ganz selten benötige, sondern gleich mit dem Range-Objekt weiterarbeite.
Gruß Sepp

Anzeige
AW: Teilstring suchen und Address ausgeben
26.12.2017 22:41:17
Ralf
Prima Sepp,
jetzt habe ich sogar 2 Lösungen, die mich beide weiterbringen.
Ich benötige die Adresse, da ich in der Tabelle alle Zeilen darüber löschen muss.
Geht sicherlich eleganter als mit dem Zwischenschritt des Auslesens der Zellen-Adresse, aber als Anfänger arbeite ich mich lieber Schritt für Schritt vorwärts, allzu viele Verschachtelungen verwirren mich nur.
Vielen Dank!
Ralf
AW: Teilstring suchen und Address ausgeben
26.12.2017 20:35:02
Sigi
Hallo Ralf,
vielleicht so?
Sub suchen()
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim sFind As String, sSearch As String
sSearch = "RL v. 14.09.2017, RL-Nr. 19265 RL-Schein R/17381" 'Text könnte auch in einer  _
anderen Tabelle stehen. z.B. sSearch = Tabelle2.cells(1,1)
Set rngFind = Cells.Find(sSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
sFind = rngFind.Address
Do
Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
If rngFind.Address = sFind Then Exit Do
Loop
End If
If rngFind Is Nothing Then
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
MsgBox "Suchbegriff wurde in Zeile" & rngFind.Address & " gefunden!"
End If
End Sub

Gruß
Sigi
Anzeige
AW: Teilstring suchen und Address ausgeben
26.12.2017 21:22:55
Ralf
Hallo Sigi,
danke für die rasche Antwort.
Habe deine Nachricht noch nicht ausprobiert, scheinbar zielt deine Lösung aber darauf hinaus, dass als Such-String der komplette String gewählt wird:"RL v. 14.09.2017, RL-Nr. 19265 RL-Schein R/17381".
Ich möchte aber nur einen Teil des Strings, nämlich "RL v." als Suche einsetzen.
Oder habe ich da bei deiner Antwort was übersehen? Kann bei mir als VBA-Frischling schon sein.
Ralf
per Formel ginge das so
26.12.2017 20:36:50
WF
Hi,
Formel steht in Zeile 1.
=ADRESSE(SUMMENPRODUKT((LINKS(A2:R99;5)="RL v.")*ZEILE(X2:X99));SUMMENPRODUKT((LINKS(A2:R99;5) ="RL v.")*SPALTE(A:R)))
Musst Du Dir dann auf VBA umfummeln (lassen).
WF
Anzeige
AW: per Formel ginge das so
26.12.2017 21:07:09
Ralf
Mensch Leute, ihr macht mich ganz verlegen!!!
So schnell hätte ich keine Antwort erwartet.
Ich hoffe, da neu im Forum, dass ich mit diesem Text alle erreiche, die mir geantwortet haben: Sepp, Siggi, WF.
Komme heute nicht mehr zum Testen, muß noch die Weihnachtsbaumkerzen ausblasen. Melde mich aber wieder - versprochen!

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige