Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach Stichwort suchen und in neue Spalte schreiben

Nach Stichwort suchen und in neue Spalte schreiben
03.09.2018 21:54:48
Jasmin
Hallo zusammen,
ich habe folgendes Problem: Mir steht eine Exceltabelle mit einer Liste von verschiedenen Kostenarten in Spalte A zur Verfügung, z.B. "MasterCard, Adobe", "Klipfolio 30€" und "Juni Klipfolio VisaCard". Diese möchte ich in die Kategorien "Adobe" und "Klipfolio" einteilen (nur als Beispiel, in Wirklichkeit sind es natürlich wesentlich mehr Kategorien) und suche deshalb nach genau diesen Stichwörtern im Text. Wird eines dieser Stichwörter gefunden, soll es entsprechend in Spalte B geschrieben werden, so dass ich das ganze später bequem in einer Pivottabelle zusammenfassen kann.
Kostenart
MasterCard, Adobe
Klipfolio 30€
Juni Klipfolio VisaCard
Insgesamt handelt es sich um ca. 1.000 Datensätze und rund 50 verschiedene Stichwörter. Zur _
Zeit wird das Problem über eine lange verschachtelte Excel-Formel in Spalte B gelöst. Da es _
viele Nutzer gibt, suche ich nun eine Lösung über VBA, so dass später nur noch ein Makro _ gestartet werden muss. Zur Zeit bin ich so weit, dass ich nach einem bestimmten Stichwort (egal wo im Text es steht) suchen lassen kann.

Sub a()
Dim Rng As Range
Dim wks As Worksheet
Set wks = Worksheets("data")
Set Rng = wks.Range(wks.Cells(1, 1), wks.Cells(1000, 1)).Find(what:="Adobe", lookat:=xlPart,  _
LookIn:=xlValues, MatchCase:=True)
If Not Rng Is Nothing Then Rng.Select
End Sub

Ich komme allerdings jetzt nicht mehr weiter bzw. bin mir auch nicht sicher, ob das überhaupt ein guter Ansatz ist.
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus,
Jasmin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Komisch...
03.09.2018 23:20:44
Werner
Hallo Jasmin,
...im VBA-Forum hat eine Jana genau das gleiche Problem.
Wenn du in verschiedenen Foren mit dem Problem unterwegs bist, dann wäre es fair, wenn du das auch mitteilen würdest.
Gruß Werner
aber ich will mal nicht so sein...
03.09.2018 23:45:30
Werner
Hallo Jasmin, oder Jana,
versuch mal folgendes:
Ich bin von folgendem ausgegangen:
Deine Daten stehen in Spalte A, ab A1
In Spalte I, ab I1, schreibst du deine "Stichwörter"
Public Sub aaa()
Dim arrBegriffe As Variant, i As Long, z As Long
Dim loLetzte As Long, loLetzte1 As Long
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
loLetzte1 = .Cells(.Rows.Count, 9).End(xlUp).Row
For z = 1 To loLetzte
arrBegriffe = Application.Transpose(.Range("I1:I" & loLetzte1))
For i = 1 To UBound(arrBegriffe)
If InStr(.Cells(z, 1), arrBegriffe(i)) > 0 Then
.Cells(z, 2) = arrBegriffe(i)
End If
Next i
Next z
End With
End Sub
Gruß Werner
Anzeige
AW: aber ich will mal nicht so sein...
04.09.2018 14:10:31
Jasmin
Hallo Werner,
vielen Dank, das funktioniert!
Meine Kollegin Jana hatte bereits davor in einem anderen Forum nach einem Lösungsansatz gefragt- sorry, falls das für Verwirrung bei dir gesorgt hat.
Liebe Grüße,
Jasmin
Gerne u. Danke für die Rückmeldung. o.w.T.
04.09.2018 14:14:34
Werner

338 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige