Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelleninhalt per VBA kopieren

Zelleninhalt per VBA kopieren
16.11.2006 09:03:52
BjoernB
Hallo,
folgendes Problem: Ich habe eine Excel-Tabelle mit einer Spalte "Telefonnummern". In dieser Spalte befinden sich in 5000 Zeilen untereinander Telefonnummern. Diese Nummern sind in verschiedenen Formaten eingetragen. Z.B. wurde eine Telfeonnummmer als 0815 233668 eingetragen, die nächste als (08 15) 23 36 68 eider die nächste als 0815-233668. Wie kann ich jetzt die Teile der Telefonnummern (Vorwahl) per VBA oder Makro abtrennen und als Text ohne Leerzeichen und Klammern in eine neue Spalte "Vorwahl" kopieren?
Danke für Eure Antworten

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

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt per VBA kopieren
16.11.2006 12:45:46
gerwas
hallo versuche mal folgendes:

Sub zahlen_trennen()
For k = 1 To 50 '00
tn = Cells(k, 1) 'wenn deine nummer in spalte 1 stehen und in zeile 1 beginnen
If InStr(1, tn, "-") <> 0 Then
p = InStr(1, tn, "-") 'wenn strich enthalten ist
Cells(k, 2) = Trim(Left(tn, p - 1)) 'bis zum Strich geht vermutlich die vorwahl, trimm entfernt leerzeichen
Cells(k, 3) = Trim(Right(tn, Len(tn) - p)) 'ab dem strich steht die telefonnummer, trimm entfernt leerzeichen
ElseIf InStr(1, tn, ")") <> 0 Then 'wenn ) enthalten ist
p = InStr(1, tn, ")")
Cells(k, 2) = Trim(Left(tn, p - 1)) 'bis zum Strich geht vermutlich die vorwahl, trimm entfernt leerzeichen
Cells(k, 3) = Trim(Right(tn, Len(tn) - p)) 'ab dem strich steht die telefonnummer, trimm entfernt leerzeichen
ElseIf InStr(1, tn, " ") <> 0 Then ' wenn leerzeichen trennen
p = InStr(1, tn, " ")
Cells(k, 2) = Trim(Left(tn, p - 1)) 'bis zum Strich geht vermutlich die vorwahl, trimm entfernt leerzeichen
Cells(k, 3) = Trim(Right(tn, Len(tn) - p)) 'ab dem strich steht die telefonnummer, trimm entfernt leerzeichen
End If
Next
End Sub

Gruss GerWas
Anzeige
AW: Zelleninhalt per VBA kopieren
16.11.2006 13:48:31
BjoernB
Super, das funktioniert ja schon einwandfrei. Bis auf den Fall, wenn die Vorwahl in einer Klammer steht. Dann sieht das Ergebins in der Neu erzeugten Vorwahlspalte wie folgt aus:
(123 2) 11515 gibt (1232 11515
es gibt manchmal auch noch den Fall,
1.) dass sich die Tel.Nr wie folgt zusammensetzt:
(0815) 3456 - 0
Kann man für diesen Fall noch eine dritte Spalte erzeugen wo dann die ziffern hinter dem Bindestrich eingefügt werden, ansonsten die Trennung der Nummerteile wie gehabt?
2.) dass die Tel.Nr so aussieht: (0815) 456 DW 848
dann müsste ähnlich wie bei 1) die Durchwahl hinter "DW" abgetrennt in eine dritte zeile geschrieben werden.
Ich bin wirklich dankbar für die schnelle und kompetente Hilfe.
Gruß
Björn
Anzeige
AW: Zelleninhalt per VBA kopieren
16.11.2006 14:29:18
BjoernB
Ich habe noch etwas vergessen es gibt auch noch den fall, dass
3) die Tel.Nr. wie folgt aussieht
0815 4568-0
Trennung von Vorwahl-Rufnummer-Durchwahl durch Leerzeichen + "-"
Danke
Mfg
AW: Zelleninhalt per VBA kopieren
16.11.2006 14:54:24
BjoernB
Ich habe noch etwas vergessen es gibt auch noch den fall, dass
3) die Tel.Nr. wie folgt aussieht
0815 4568-0
Trennung von Vorwahl-Rufnummer-Durchwahl durch Leerzeichen + "-"
Danke
Mfg

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige