Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
zahl nach wort trennen in einer Zelle
19.11.2004 13:46:59
Olli
Hallo
Ich möchte Straßennamen von der Hausnummer so trennen, dass die enthaltenen Buchstaben und Zahlen in separaten Zellen angezeigt werden. Die Buchstaben / Zahlen kommen nur in Blöcken vor: Zahlen rechts, Buchstaben links. Sie können aber unterschiedliche Werte und Längen haben.
Beispiel:
A B C
1 StraßeHausnr. Straße HausNr
2 Waldstr.4 Waldstrab 4

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zahl nach wort trennen in einer Zelle
19.11.2004 14:25:42
Siegfried

Private Sub CommandButton1_Click()
Dim adress, c As String
Dim street, number As String
Dim i, l As Integer
adress = ActiveSheet.Range("A1").Value
street = ""
number = ""
adress = Trim(adress)
l = Len(adress)
For i = 1 To l
c = Mid(adress, i, 1)
If Asc(c) >= 48 And Asc(c) <= 57 Then
street = Trim(Left(adress, i - 1))
number = Trim(Right(adress, l - i + 1))
Exit For
End If
Next i
MsgBox street & "," & number
End Sub

grüße Siegfried
Anzeige
AW: zahl nach wort trennen in einer Zelle
Ingolf
Hallo Olli,
mein Makro setzt voraus, dass deine Einträge ohne Unterbrechung untereinander stehen und dass der oberste Eintrag markiert ist.

Sub Trennen()
Dim lngZeile As Long
Dim intZeichen As Integer
lngZeile = 0
With ActiveCell
Do While IsEmpty(Cells(.Row + lngZeile, .Column)) = False
For intZeichen = 1 To Len(Cells(.Row + lngZeile, .Column))
If IsNumeric(Right(Cells(.Row + lngZeile, .Column), intZeichen)) = False _
Or Left(Right(Cells(.Row + lngZeile, .Column), intZeichen), 1) = "." Then
Exit For
End If
Next intZeichen
Cells(.Row + lngZeile, .Column + 1) = _
Left(Cells(.Row + lngZeile, .Column), Len(Cells(.Row + lngZeile, .Column)) - intZeichen + 1)
Cells(.Row + lngZeile, .Column + 2) = _
Right(Cells(.Row + lngZeile, .Column), intZeichen - 1)
lngZeile = lngZeile + 1
Loop
End With
End Sub

Gruß Ingolf
Anzeige
AW: zahl nach wort trennen in einer Zelle
19.11.2004 15:42:36
olli
super eure vielen tips aber es klappt nch nicht so richtig, denn ich habe auch zellen wo hinter der Hausnumer eine leerstelle ist wie zbs 1 - 4 es wäre super wenn, hier da helfen könnet.
AW: zahl nach wort trennen in einer Zelle
Ingolf
Hallo Olli,
ich hab das Makro entsprechend geändert:

Sub Trennen()
Dim lngZeile As Long
Dim intZeichen As Integer
lngZeile = 0
With ActiveCell
Do While IsEmpty(Cells(.Row + lngZeile, .Column)) = False
For intZeichen = 1 To Len(Cells(.Row + lngZeile, .Column))
If IsNumeric(Right(Cells(.Row + lngZeile, .Column), intZeichen)) = False _
Or Left(Right(Cells(.Row + lngZeile, .Column), intZeichen), 1) = "." Then
Exit For
End If
Next intZeichen
Cells(.Row + lngZeile, .Column + 1) = _
Left(Cells(.Row + lngZeile, .Column), Len(Cells(.Row + lngZeile, .Column)) - intZeichen + 1)
If Left(Right(Cells(.Row + lngZeile, .Column), intZeichen - 1), 1) = " " Then
Cells(.Row + lngZeile, .Column + 2) = _
Right(Cells(.Row + lngZeile, .Column), intZeichen - 2)
Else
Cells(.Row + lngZeile, .Column + 2) = _
Right(Cells(.Row + lngZeile, .Column), intZeichen - 1)
End If
lngZeile = lngZeile + 1
Loop
End With
End Sub

Gruß Ingolf
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige