Komplizierte Aufgabe: Wörter suchen finden ersetzen

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Komplizierte Aufgabe: Wörter suchen finden ersetzen

    Hallo alle zusammen,

    ich habe folgendes Problem. Ich schreibe derzeit meine Diplomarbeit und eine Nebenaufgabe ist es, Daten auszuwerten in Excel.

    Kurze Beschreibung des Problems:
    Produktrückweisungen werden von den Mitarbeitern erfasst. Der Rückweisungsgrund wird angegeben. Jetzt habe ich eine Liste mit 185.000 Einträgen. In jeder einzelnen Zeile, stehen individuelle/unterschiedliche aber manchmal auch dieselben vom Mitarbeiter eingetragene Rückweisungsgründe drin. Teilweise nur Wörter, manchmal auch ganze oder mehrere Sätze. Nun möchte ich in einer Nebenspalte diese Rückweisungsgründe STANDARDISIEREN bzw. Vereinheitlichen.

    Lösung: Ich dachte mir, dass ich in VBA ein Programm schreibe, dass bestimmte Wörter in jeder einzelnen Zeile sucht und findet und diese anschließend in der Nebenspalte "übersetzt".
    Hier zum Veranschaulichen ein Auszug:

    The analysis of SAR data of spoiler positions at the time of low hydraulic pressure revealed that the drift rates of the spoilers LH6, LH7 and RH8 exceeded the allowable limits.Pleas replace spoilers LH6 (6CL1), LH7 (7CL1) and RH8 (8CL2) before......Spoiler failure
    QSR retrofitQSR
    QSR TO/L/EQ/14 00011QSR
    Functional test.Perform following SBs:SB 1998A-27-04SB 1998A-27-05AUFTRAG NACH BEFUND STOPPEN!!Functional test
    functional test Functional test
    foc functional testSB 1998A-27-04Functional test
    Hyrdaulic leakageLeackage
    leakyLeackage
    body leakingLeackage
    Motor Pump is leaky and piston of ActuatorLeackage
    FOC TESTSB1997A-27-02Functional Test
    Modification in -02 APerformance-Test durchführenModification
    Hydraulic leak sur servo spoiler 5CL2.Leackage
    Modification in BS -03Modification
    found leakage on spoiler 6 LHLeackage
    Spoiler failedSpoiler Failure
    Modific. in C58Modification

    Ihr seht das große Problem ist, dass in der linken Spalte immer was anderes steht, obwohl das gleiche gemein ist. Nun möchte ich, dass das Programm in die linke Spalte geht, einige Schlüsselwörter (die ich aufwändig definieren muss, da ja auch mal groß-Kleinschreibung vorkommt, oder bei Leackage z.b. auch mal leacky oder leak steht) definiere, diese dann gesucht/gefunden/erkannt werden und zum Abschluss in die Spalte daneben, die von mir definierten vereinheitlichten Begriffe, übernimmt.


    Vielen Dank im Voraus!

    Mit freundlichen Grüßen
    Cihan
    Ich würde ein Scripting.Dictionary zu Hilfe nehmen und das durchloopen.
    Du kannst es aber auch manuell codieren.

    Visual Basic-Quellcode

    1. If LCase(Zelle1.Value) Like "*functional*test*" Then
    2. Zelle2.Value = "Functional Test"
    3. ElseIf LCase(Zelle1.Value) Like "qsr" Then
    4. Zelle2.Value = "QSR"
    5. ElseIf LCase(Zelle1.Value) Like "*leak*" Then
    6. Zelle2.Value = "Leakage"
    7. ElseIf ...
    8. ...
    9. End If
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Cihan_Ce schrieb:

    Dann sollen beide Begriffe übernommen werden.
    Dann kannst du mit If anstatt mit ElseIf arbeiten.

    Visual Basic-Quellcode

    1. Zelle2.Value=""
    2. If LCase(Zelle1.Value) Like "*functional*test*" Then Zelle2.Value = Zelle2 & " / " & "Functional Test"
    3. If LCase(Zelle1.Value) Like "qsr" Then Zelle2.Value = Zelle2 & " / " & "QSR"
    4. If LCase(Zelle1.Value) Like "*leak*" Then Zelle2.Value =Zelle2 & " / " & "Leakage"
    5. ​...
    6. Zelle2.Value=Mid(Zelle2.Value,4)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --