VisualBasic [VBA] Excel... Telefonnummer Konvertieren

  • Ersteller Ersteller Klonky
  • Erstellt am Erstellt am
K

Klonky

Gast
Hallo zusammen...


Ich steh derzeit vor einer Mammut aufgabe, und schaffe das per Hand nicht. 4 Exceltabellen müssen zusammen geführt werden. Natürlich ist der Primäryschlüssel bei der Zusammenführung die Telefonnummer. Nun ist das witzige, das es so einfach nicht zu vergleichen ist mit VBA.

Ich muss das Format in allen Tabellen gleich machen, damit ich sie vergleichen kann.


Folgendes Szenario:


Ich habe 112345567 als Telefonnummer in der einen Exceltabelle. Perfekt. Die zweite zeigt leider 0123/123456 auf. Super, mit / auch noch und einer 0. Das müsste ich abändern. (Sind ca 2000 Datensätzen, also nichts mit schnell mal mit der Hand ändern...). Die dritte hat nichtmal die Vorwahl. Bedeutet, ich glaube ich kürze die Vorwahl weg und bleibe nur bei dem 123456.

Ich müsste dazu nen Makro schreiben, der schnell überall die Vorwahl wegschneidet + das /.

Jemand ne Idee oder Ansatz wie ich das machen kann?



Danke wirklich für Hilfe. Ich bin kurz vor dem Verzweifeln...
Ergänzung ()

Okey ich habs gefunden. Aber naja. Vielleicht könnte ich hilfe brauchen, wenn ich das Makro schreiben muss zum Zusammenführen der Datensätze...
 
Hey!

Bin mir nicht sicher ob dir das hift, aber es gibt den Befehl: LTrim(Str(***))
Könnte evtl. helfen die 0 abzuschneiden und die Tel.Nr. als String zu definieren
 
Ich habs schon mit der Nummer danke :) Geht mehr um das vergleichen und Daten kopieren. Muss erstmal wieder in VBA reinkommen... Hoffentlich schaff ich das heute noch.
 
Wie willst du denn vergleichen bzw. was soll am Ende rauskommen wenn die Nr übereinstimmt?
Für einen einfachen Vergleich mit "wahr" oder "falsch" brauchst du kein VBA..
 
Nein. Das sind 3 Sheets. Alle besitzten nur 1 Wert, der auf allen gleich ist (Telefonnummer). Und ich möchte alle 3 Tabellen anhand der Telefonnummer zusammenführen.

Also Telefonnummer soll der Primarykey sein und das Makro soll für jede Telefonnummer eben die dazugehörigen Datensätze finden.
 
Mal eine Idee ohne VBA:
- ein viertes Blatt einrichten.
- alle Nummer aus allen drei Blätter in das vierte untereinander kopieren - doppelte Werte entfernen lassen
- mittels Sverweis oder Index/Vergleich anhand der Telefonnummer die zugeh. Werte suchen lassen
 
Irgendwie ist das mit Sverweiß ganz wirrkürlich...

Ich versteh das ganze nicht so ganz... Ich hab das mal irgendwann gelernt, und im Internet klingt das alles logisch aber bei mir passiert folgendes:

Hab meine Matrix benannt, sie heißt Matrix.

So nun möchte ich, das er die Telefonnummer, die ich 1zu1 testweise kopiert habe, aus der Matrix sucht und mir den ersten Datensatz angibt.

=SVERWEIS(Tabelle1!AY2;Matrix;5)

So siehts bei mir aus. AY2 ist nur der Testdatensatz, da ist die rauskopierte Nummer, die gibt es zu 100%!. Davon möchte ich den 5 Datensatz, wenn er sie findet. Nun das seltsame. Ich bekomme, egal welche Telefonnummer ich suche, immer #NV. Wenn ich da irgendwas schwachsinniges reinschreibe wie S2395123 Findet er irgendwelche willkürlichen Datensätze, die damit garnichts zutun haben. Aber die Nummer findet er.


Ich begreifs net so ganz...


Nochmal ein Beispiel:

Ich suche nach S1234s567

Und wenn ich mir alle datensätze von 1-9 ausgebe, hat wirklich nichts davon mit dem gefunden zutun? Das ist doch kompletter Schwachsinn?
 
Zuletzt bearbeitet:
Wie sieht denn deine Matrix aus??
Die Matrix muss sowohl die Spalte zu suchenden Kriterium, als auch alle Spalten in denen gesucht werden soll einschließen.

Daten:
+pybZ4AAAAASUVORK5CYII=
| 1 | a |
| 2 | b |
| 3 | c |

Suche:
| 1 | =SVERWEIS(D1;$A$1:$B$3;2) |
| 2 | =SVERWEIS(D2;$A$1:$B$3;2) |
| 3 | =SVERWEIS(D3;$A$1:$B$3;2) |
zGYveIYgJwBAP957LNUAmPEHXOrmytREodMAAAAASUVORK5CYII=
 
Zuletzt bearbeitet:
Ja hatte nen eingerosten Denkfehler drin. Hab vergessen, das er nur die erste Spalte absucht, und hab das FALSE am Ende vergessen.
 
Zurück
Oben