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

Spalte nach Schlüsselwörtern auswerten

Forumthread: Spalte nach Schlüsselwörtern auswerten

Spalte nach Schlüsselwörtern auswerten
08.09.2008 11:31:00
Mumber
Hallo Experten,
brauche dringend Eure Unterstützung.
Ich würde gerne im Rahmen einer Auswertung eine bestimmte Spalte (Text) mittels VBA nach bestimmten Schlüsselwörtern durchsuchen lassen und bei Treffer eine dem Schlüsselwort entsprechende Kategoriebezeichnung in anderer Spalte (gleiche Zeile) eintragen lassen. Zum Beispiel: Alles was *press* enthält, soll unter Kategorie "Pressen" zusammengefasst werden, indem in der dazugehörigen Zeile eben der Eintrag "Pressen" gemacht wird. Nebenbedingung: einer Kategorie können mehrere Schlüsselwörter entsprechen. Anzahl der Schlüsselwörter und Kategorien kann variieren. Am besten wäre eine Lösung bei der im Code ein Bezug auf den Bereich(Zellen) mit Schlüsselwörtern/ Kategorien eingebaut werden kann.
Der Datenbereich der Auswertung hat einen Bereichsnamen und ist dynamisch (Bereich.Verschieben)eingestellt. Die Lösung über Formula (...Formula = "=WENN(ISTZAHL(SUCHEN('press';$Q3));'PRESSEN';'')&WENN(ISTZAHL(SUCHEN... ) lässt sich ohne Weiteres nicht verwirklichen - LAUFZEITFEHLER '1004'! Ohne VBA klappts zwar, aber dann eben ohne Autofill.
Habe hier im Forum folgendes gefunden:
"Alle Werte mit Punkt aus Spalte A in Spalte B"
https://www.herber.de/mailing/120300h.htm
Wer kann mir helfen diesen Code den beschriebenen Anforderungen entsprechend umschreiben?
Wäre für jeden Tipp dankbar!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spalte nach Schlüsselwörtern auswerten
08.09.2008 11:48:50
Erich
Hallo Vorname, (zu Nicknames schau bitte mal in die Forums-FAQ )
wie wäre es mit einer Beispielmappe, aus der hervorgeht, um welche "bestimmte Spalte (Text)" es konkret geht,
wo der "Bereich(Zellen) mit Schlüsselwörtern" ist und wie das Ergebnis aussehen soll.
Dann brauchen wir das nicht - vermutlich abweichend von deiner Tabelle - nachzubauen.
Der verlinkte Code hilft hier vermutlich nicht viel.
Soll es denn überhaupt VBA sein (ich frage wg. "VBA nein")? Das ginge wohl auch per Excelformel(n).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Spalte nach Schlüsselwörtern auswerten
08.09.2008 12:22:00
Mumber
Hallo Erich,
Vielen Dank für Korrektur. Schaue mir die FAQ nochmal näher an. Ich dachte, dass sich der Level auf den Kenntnisstand des Fragenden bezieht. Und deshalb ja, es sollte nach Möglichkeit VBA sein. Also: "Excel gut - VBA bescheiden".
Es sei denn, es gäbe einen Weg die Formel automatisch an den dynamischen Bereich (es kommen ständig Daten hinzu) anzupassen. Über Autofill mittels VBA klappt es mit anderen Formeln sehr gut. In diesem Fall ist es aber ein Riesenapparat und ca. 50 X "=WENN(ISTZAHL(SUCHEN('Schlüsselwort';$Q3));'Kategoriebezeichnung';'') und ständig der Laufzeitfehler '1004'!
Ein Auszug des Datenbereichs:
https://www.herber.de/bbs/user/55243.xls
Hoffe, es hilft...
Grüße
Rudolf
Anzeige
AW: Spalte nach Schlüsselwörtern auswerten
08.09.2008 13:37:56
Erich
Hi Rudolf,
kommst du damit schon weiter? (Formel von E4 nach F4:G4 und dann nach unten kopieren)
 CDEFGHIJ
3ObjektartBezeichnungKat. 1Kat. 2Kat. 3SchlüsselwörterKategorie 
4Sonstiges    stanzStanzen 
5Sonstiges    pressePressen 
6TaktanlageTransferanlage XXXTaktanlage  EXWZGExtrusionswerkzeuge 
7Sonstiges    transferTaktanlage 
8Sonstiges    taktTaktanlage 
9HeizenUHF-Kanal   sägeAblängen 
10FormenForm XXXXX      
11PressentaktstanzPresse XXXXStanzenPressenTaktanlage   
12FormenForm XXXXX      
13Sonstiges       
14TaktanlageTaktanlage XXXXXTaktanlage     

Formeln der Tabelle
ZelleFormel
E4{=WENN(ISTFEHLER(KKLEINSTE(WENN(ISTZAHL(SUCHEN(Schluessel;$C4)); ZEILE(Schluessel)); SPALTE(A4))); "";INDEX($I:$I;KKLEINSTE(WENN(ISTZAHL(SUCHEN(Schluessel;$C4)); ZEILE(Schluessel)); SPALTE(A4))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Namen in Formeln
ZelleNameBezieht sich auf
E4Schluessel=Tabelle1!$H$4:$H$9

Die Matrixformel kann man leicht von Zeile 4 auf darunter liegende Zeilen kopieren.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Spalte nach Schlüsselwörtern auswerten
08.09.2008 14:30:00
Rudolf
Hallo Erich,
jetzt kommen wir der Sache schon viel näher! Eine feine Sache! Hoffe nur, dass es keine Performance-Einbußen mit sich bringt, da ca. 40' Datensätze. Vielen Dank!
Gruß
Rudolf
Anzeige
Anzeige

Infobox / Tutorial

Spalte nach Schlüsselwörtern auswerten


Schritt-für-Schritt-Anleitung

  1. Datenbereich definieren: Stelle sicher, dass Du einen dynamischen Bereich für Deine Daten hast. Dies kann über die Funktion BEREICH.VERSCHIEBEN geschehen.

  2. Schlüsselwörter und Kategorien festlegen: Erstelle in einer separaten Spalte eine Liste von Schlüsselwörtern und den dazugehörigen Kategorien. Zum Beispiel:

    | Schlüsselwort | Kategorie   |
    |---------------|-------------|
    | press         | Pressen     |
    | stanz         | Stanzen     |
  3. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Modul hinzufügen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  5. Code eingeben: Füge den folgenden VBA-Code ein, um die Schlüsselwörter auszuwerten und die entsprechenden Kategorien einzutragen:

    Sub Auswerten()
       Dim ws As Worksheet
       Dim rng As Range
       Dim zelle As Range
       Dim schluessel As Range
       Dim kategorie As String
    
       Set ws = ThisWorkbook.Sheets("DeinBlatt") ' Blattname anpassen
       Set rng = ws.Range("A1:A100") ' Bereich anpassen
    
       For Each zelle In rng
           kategorie = ""
           For Each schluessel In ws.Range("D1:D10") ' Schlüsselwort-Bereich anpassen
               If InStr(1, zelle.Value, schluessel.Value, vbTextCompare) > 0 Then
                   kategorie = ws.Cells(schluessel.Row, 2).Value ' Kategorie aus Spalte B
                   Exit For
               End If
           Next schluessel
           zelle.Offset(0, 1).Value = kategorie ' Kategorie in die Nachbarzelle eintragen
       Next zelle
    End Sub
  6. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Auswertung zu starten.


Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Dieser Fehler tritt häufig auf, wenn der Bereich nicht korrekt definiert ist. Überprüfe, ob die Zellen korrekt angegeben sind.

  • Keine Auswertung: Wenn keine Kategorien eingetragen werden, stelle sicher, dass die Schlüsselwörter in der Liste vorhanden sind und dass die Schreibweise übereinstimmt.


Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die WENN-Funktion in Excel verwenden. Eine einfache Formel könnte so aussehen:

=WENN(ISTZAHL(SUCHEN("press";A1));"Pressen";"")

Diese Formel sucht in der Zelle A1 nach dem Schlüsselwort "press" und gibt "Pressen" zurück, wenn es gefunden wird.


Praktische Beispiele

Angenommen, Du hast in Spalte A verschiedene Texte und in Spalte D eine Liste von Schlüsselwörtern. Mit dem obigen VBA-Code oder der Excel-Formel kannst Du die Texte in Spalte B kategorisieren.

A B
Der Pressvorgang ist wichtig. Pressen
Diese Maschine stanzt. Stanzen

Tipps für Profis

  • Regelmäßige Updates: Halte die Liste der Schlüsselwörter und Kategorien aktuell, um sicherzustellen, dass alle neuen Daten korrekt ausgewertet werden.

  • Performance-Optimierung: Bei großen Datenmengen kann es sinnvoll sein, den VBA-Code so zu optimieren, dass er schneller läuft, z.B. durch die Verwendung von Arrays.


FAQ: Häufige Fragen

1. Kann ich die Auswertung auch ohne VBA durchführen? Ja, Du kannst die WENN-Funktion oder SVERWEIS nutzen, um die Auswertung in Excel durchzuführen.

2. Wie kann ich die Schlüsselwörter anpassen? Du kannst die Liste der Schlüsselwörter in der entsprechenden Spalte jederzeit bearbeiten, und das Skript wird darauf basieren. Stelle sicher, dass die Schlüsselwörter in der richtigen Spalte stehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige