Passende ähnliche, aber nicht exakte text-strings in Excel-VBA-Projekte

Okay, ich habe versucht, eine Lösung zu finden für dieses und ich weiß einfach nicht scheinen zu können. Ich kann nicht sogar brechen Sie das problem richtig. Das ist die Idee.

Ich habe zwei Tabellen mit vielen Zeilen (eine mit 800 und die anderen mit 300.000). Jede Zeile enthält eine Spalte "Name" und dann mehrere Spalten, die Informationen enthalten, die über diesen Namen. Jedes Blatt hat verschiedene Arten von Informationen.

Möchte ich festigen diese zwei Blätter in einem master-Blatt basierend auf dieser Spalte Name, den Sie beide haben, so die konsolidieren-Funktion ist perfekt dafür. Das problem ist jetzt, dass die Namen nicht übereinstimmen perfekt.

Z.B. Tabelle1 enthält

"Firma B. V.", "Info #1"
"Unternehmen Insgesamt", "Info #2"
"Company Ltd", "Info #3"

und Blatt 2 enthält

"Unternehmen und Co.", "Info #4"
"Unternehmen und Co", "Info #5"

Blatt 1 enthält alle Namen, die verwendet werden sollen (etwa 100, aber in verschiedenen Formen wie oben beschrieben) und Blatt 2 enthält alle diese 100 in mehrere Zeilen plus die Namen, die nicht in der Liste der 100 und ich daher nicht kümmern.

Wie würde ich eine VBA-code-Projekt, in dem das Ergebnis wäre so etwas wie dieses, Master-Blatt:

"Unternehmen", "Info #1", "Info #2", "Info #3", "Info #4", "Info #5"

für jeden einzelnen "Unternehmen" (100-Liste) gibt es??

Ich hoffe es gibt eine Lösung für dieses. Ich bin ziemlich neu im VBA-Projekte, aber ich habe getan, einige minimale Codierung vor.

Sie müssen entscheiden, welche Regeln machen "Company B. V." das gleiche wie "Unternehmen" und Co." dann wendet Sie um die Konvertierung zu machen. E. g. ist es immer das 1. Wort? oder was bleibt nach dem Austausch eine Reihe von Wörtern (b.v -./insgesamt/und co.)? ... wenn Sie Sie nicht artikulieren, dass Sie nicht in der Lage, excel -, es zu tun.
Setzen Sie Art von Kriterien für das, was "ähnlich genug" bedeutet... Zum Beispiel, wäre es OK nur Spiel, basierend auf das erste Wort zwischen den 2 Platten??
Ja, Sie sind beide Recht, leider, das erste Wort ist nicht eine option. Gibt es eine Möglichkeit zu finden, eine minimale Länge der Zeichen, die übereinstimmung zwischen zwei Zeichenketten, und verwenden Sie diese als die "Company" - name, also ein ganzes Wort sollte passen perfekt, einschließlich der Leerzeichen vor und nach.
Was über alle Wörter, die größer als 4 Zeichen innerhalb einer Zelle übereinstimmen sollten, genau? Ist das ein 'makable' Zustand?
... Da dein Beispiel oben die Zelle mit Company Total würde nicht den 4-char Kriterien, so stellen Sie sicher, dass Sie damit glücklich sind, aber wenn Sie ok waren, würde ich schreiben, eine einfache VBA-Funktion, die eine Zelle (oder string) und eine Zahl (für die Anzahl der Charaktere übereinstimmen) als inputs. Es würde dann untersuchen Sie jedes Wort in einer Zeichenfolge - Wenn es länger ist als die erforderliche Anzahl von Zeichen, dann fügen Sie es auf eine Ausgabe-string - dann könnte man vergleichen die 2 Zellen die Werte, sobald Sie umgezogen durch diese Funktion... Nur eine Herausforderung ist, wenn die Worte in unterschiedlicher Reihenfolge in den Zellen.

InformationsquelleAutor Ampi Severe | 2012-11-08

Schreibe einen Kommentar