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

Wenn "enthält Wort";dann übernehme Feld)

Wenn "enthält Wort";dann übernehme Feld)
07.04.2020 20:57:16
Norbert
Hallo,
meine erste Frage hier - ich hoffe, mir kann jemand helfen! Es geht um eine Wenn-Dann-Abfrage mit Textvergleich.
Spalte A enthält verschiedene Sätze. Zum Beispiel:
- Der Ball ist rund.
- Die Kirche steht im Dorf.
- Die Sonne scheint.
etc.
(Es sind mehrere tausend Sätze...)
Spalte B enthält einzelne Worte, also:
- Kirche
- Sonne
- Ball
etc.
(ebenfalls mehrere tausend)
Die Wörter und Sätze korrespondieren nicht und sollen nun richtig zugeordnet werden. Also:
Wenn Wort aus B1 irgendwo in Spalte A vorkommt, übernehme den Text des Feldes aus Spalte A und füge ihn in C1 ein.
Wie kann ich dies machen?
Danke für Eure Hilfe und Grüße
Norbert

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn "enthält Wort";dann übernehme Feld)
07.04.2020 22:47:06
Barbara
Hi Norbert,
Dieses Makro schreibt den ersten Satz der Spalte A, in dem das Wort in Spalte B vorkommt, neben jenes in Spalte C.
Der Erste Satz steht in A2. Wenn nicht, dann das Makro an der markierten Stelle ausbessern.
Und hier ist es: Tatääääää!
Sub test()
Dim a As Range, b, z, k, i As Long, j As Long
Set a = Range("A2") 'Erste Zelle der ersten Spalte
b = Application.WorksheetFunction.Transpose(Range(a, a.End(xlDown)))
z = Application.WorksheetFunction.Transpose(Range(a(, 2), a(, 2).End(xlDown)))
ReDim k(1 To UBound(z))
For i = 1 To UBound(z)
For j = 1 To UBound(b)
If InStr(b(j), z(i)) > 0 Then k(i) = b(j): Exit For
Next j
Next i
a(, 3).Resize(UBound(k), 1) = Application.WorksheetFunction.Transpose(k)
End Sub

Wenn Du einen Eignungstest machen musst, für welche Eignung auch immer: Nicht Schummeln!
LGB
Anzeige
AW: Wenn "enthält Wort";dann übernehme Feld)
08.04.2020 13:58:22
Norbert
Hey, klasse, danke Barbara! Das hat funktioniert!!
Eine Sache ist mir dabei noch aufgefallen: Das Makro unterscheidet zwischen Groß- und Kleinschreibung der Wörter. Wenn das Suchwort also klein geschrieben ist, aber in dem Satz am Satzanfang großgeschrieben steht, wird es nicht gefunden. Kann man bei dem Vergleich sagen, dass Groß- und Kleinschreibung ignoriert werden soll?
Und nein, es geht nicht um einen Eignungstest! Ich suche nach Beispielsätzen für Vokabeln in Film-Dialogen :-))
AW: Wenn "enthält Wort";dann übernehme Feld)
09.04.2020 12:55:37
Barbara
Freut mich, dass es funktioniert. Habe eine halbe Stunde gebraucht.
Probier mal:
"If InStr(b(j), z(i),1) ..."
(ungetestet)
Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige