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

Begriffe in Zeile suchen

Begriffe in Zeile suchen
26.09.2019 11:56:55
Peter
Hallo liebes Forum,
ich habe ein kleines Problem mit meinem VBA-Code und zwar haben sich die Bedingungen etwas verändert, woraufhin auch der VBA-Code etwas angepasst werden müsste. Derzeit werden die Zeilen durchsucht und alle gefundenen Begriffe mit einem "|" getrennt ausgegeben.
In den Veränderten Anforderungen sollen die Zeilen geclustert werden, was bedeutet, dass ich z.B. 5 Spalten mit unterschiedlichen Suchbegriffen habe (sollte variabel sein) und wenn ein Suchbegriff innerhalb dieses Clusters gefunden wird soll der Oberbegriff (steht immer in Zeile 1) ausgegeben werden. Die Ausgabe der Begriffe sollte immer in einer Spalte erfolgen.
Ich wäre euch sehr dankbar, wenn mir jemand beim umschreiben behilflich sein könnte.
Viele Grüße
Peter
Const Anz_Sp As Integer = 4 'Anzahl der Spalten mit Beschreibungen
Const Such_Sp As Integer = 8 'Spalte der Suchbegriffe

Sub Textteile_Suchen()
On Error GoTo NN
lr = Cells(Rows.Count, 1).End(xlUp).Row
Nm = Application.Transpose(Range(Cells(2, Such_Sp), Cells(2, Such_Sp).End(xlDown)))
'vorbereiten
With CreateObject("vbscript.regexp")
.Global = False
.IgnoreCase = False
.MultiLine = True
For r = 2 To lr
Ar = " " & Join(Application.Transpose(Application.Transpose(Range(Cells(r, 1), Cells(r,  _
Anz_Sp)))), " ") & " "
Tx = ""
For i = 1 To UBound(Nm)
.Pattern = "|b" & Nm(i) & "|b" & "|^" & Nm(i) & "|b"
If InStr(1, Ar, Nm(i), vbTextCompare) > 0 Then
If .Test(Ar) Then Tx = Tx & Nm(i) & "|"
End If
NN:
Err.Clear
Next i
Cells(r, Anz_Sp + 1) = Tx
Next r
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: hat zumindest 1 Monat funktioniert
26.09.2019 13:18:22
Fennek
Hallo Peter,
nachdem ich meinen Code erkannt habe, konnte ich auch die Datei finden.
2. Probleme:
- was bedeutet Cluster
- auch wenn ich die Aufgabe damals als ganz interessant empfand, bei solchen Nachfragen solltest Du einen Anreiz liefern
mfg
AW: hat zumindest 1 Monat funktioniert
26.09.2019 15:47:48
Peter
Hallo Fennek,
nach genauer Betrachtung würde es auch ausreichen, dass wenn ich den Code 2 mal hintereinander ausführen lasse, die zuvor ermittelten Werte nicht überschrieben werden.
Beispiel:
Erste Ausführung des Codes
Const Anz_Sp As Integer = 4
Const Such_Sp As Integer = 8
Cells(r, Anz_Sp + 1) = Tx
Zweite Ausführung des Codes
Const Anz_Sp As Integer = 4
Const Such_Sp As Integer = 9
Cells(r, Anz_Sp + 1) = Tx
Die Ergebnisse werden in der gleichen Spalte eingetragen, wobei im jetzigen Fall die Werte aus der ersten Ausführung bei der zweiten Ausführung durch eine leere Zelle ersetzt werden. Wenn hier die Werte aus der ersten Ausführung stehen bleiben würden und die aus der zweiten Ausführung nur mit dazu kommen würden, wäre es für mich schon ausreichend.
Viele Grüße
Peter
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige