Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
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
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlen lösche nwenn

Zahlen lösche nwenn
26.10.2006 10:42:07
Fritz
Hallo Schönen Vormittag!
Hab folgende Farge
ich habe in spalte a verschiedenen eintragungen stehen die entweder mit einer nummer beginnen z.B 100 Ortsname Straße; oder nur Text beinhalten
Die Nummer kann 1 bis 3 stellig sein und ist vom text mit einem leerzeichen getrennt.
würde jetzt ein makro benötigen das wenn die eintragung mit einer nummer beginnend diese in spale a belässt und den übrigen text in spalte b einügt?
Danke

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen lösche nwenn
26.10.2006 11:07:56
Dan
Hi, hier ein Beispiel. Das Makro durchsucht die 'Selection' von Zells. Fuer jede Zelle macht das Makro einen 'Spit' vom Zellen-Wert. Fuer den 'Spilt' wird " " benutzt. Wenn dann der erste Teil des Zell-Wertes eine Zahl ist, wird sie in der Zelle gelassen und der rest-text wird in die nebenzelle kopiert. Gruss Dan, cz.
Public

Sub ZahlenVomTextTrennen()
Dim sel As Variant
Dim rng As Range
Dim data As Variant
Set sel = Selection
If (TypeName(sel) <> "Range") Then Exit Sub
For Each rng In sel.Cells
If (rng.Value <> "") Then
data = Split(rng.Value, " ")
If (IsNumeric(data(0)) = True) Then
rng.Offset(0, 1).Value = Trim(Right(rng.Value, Len(rng.Value) - Len(data(0))))
rng.Value = data(0)
End If
End If
Next rng
End Sub

Anzeige
AW: Zahlen lösche nwenn
26.10.2006 11:08:16
harry
Hallo Fritz,
probier mal folgendes:

Sub test()
x = 1
While Cells(x, 1).Value <> ""
Inhalt = Cells(x, 1).Value
pos_leer = InStr(1, Inhalt, " ", 1)
If pos_leer <> 0 Then
laenge = Len(Inhalt)
Cells(x, 2).Value = Right(Inhalt, laenge - pos_leer)
Cells(x, 1).Value = Left(Inhalt, pos_leer - 1)
End If
x = x + 1
Wend
End Sub

Gruß
Harry
AW: Zahlen lösche nwenn
26.10.2006 11:51:03
Fritz
Danke der Code funktioniert super!
Hab noch zwei zusätze auf die ich vergessen habe.
Ich habe in der spalte a auch manchmal leerzellen wenn das der fall ist dann stopt natürlich der code, kann ich das irgenwie herhindern.
und zweitens kann es sein das vor meinen eintragungen ein oder zwei leerzeichen drinnen sind, dann stopt er ebefalls oder funktionert nicht?
kann man das lösen?
Danke
Anzeige
AW: Zahlen lösche nwenn
26.10.2006 12:23:59
Dan
Hi, jetzt werden die leere Zeichen am Anfang des Zell-Wertes entfernt. Leere Zellen sollten nicht stoeren. Gruss Dan, cz.
Z.B :
"3Leer-Zeichen hier73Leer-Zeichen hieraaa3Leer-Zeichen hier" wird in zwei Splaten getrennt:
"7" und "aaa"
Public

Sub ZahlenVomTextTrennen()
Dim sel As Variant
Dim rng As Range
Dim data As Variant
Set sel = Selection
If (TypeName(sel) <> "Range") Then Exit Sub
For Each rng In sel.Cells
If (rng.Value <> "") Then
rng.Value = Trim(rng.Value)
data = Split(rng.Value, " ")
If (IsNumeric(data(0)) = True) Then
rng.Offset(0, 1).Value = Trim(Right(rng.Value, Len(rng.Value) - Len(data(0))))
rng.Value = data(0)
Else
rng.Cut Destination:=rng.Offset(0, 1)
End If
End If
Next rng
End Sub

Anzeige
AW: Zahlen lösche nwenn
26.10.2006 12:58:45
Fritz
Danke für deine antwort, aber irgendwie bring ich es nicht richtig zu laufen.
hier noch male meine genauen eintragungen in der spalte a
ich habe in spalte a folgende eintragungen
a1 1 Wien Hauptstraße (mit einem leerzeichen vor 1)
a2 Platz 1 (mit zwei leerzeichen)
a3 überhauptkeine Eintragungen
a4 2 Wien Hauptplatz
usw..
AW: Zahlen lösche nwenn
26.10.2006 13:12:12
Dan
Hi, urspuenglich habe ich es so gemacht, dass man am Anfang, eher das Makro gestartet wird, den Bereich aufwaehlen sollte. Jetz muss man nichts mehr auswaehlen, es werden alle benutzte zellen von der Spalte 'a' genommen.
Das Ergebniss sollte so aussehen:
1| Wien Hauptstraße (mit einem leerzeichen vor 1)
| Platz 1 (mit zwei leerzeichen)
2| Wien Hauptplatz
Gruss Dan, cz.
Public

Sub ZahlenVomTextTrennen()
Dim rng As Range
Dim data As Variant
For Each rng In Intersect(ActiveSheet.UsedRange, ActiveSheet.Columns(1)).Cells
If (rng.Value <> "") Then
rng.Value = Trim(rng.Value)
data = Split(rng.Value, " ")
If (IsNumeric(data(0)) = True) Then
rng.Offset(0, 1).Value = Trim(Right(rng.Value, Len(rng.Value) - Len(data(0))))
rng.Value = data(0)
Else
rng.Cut Destination:=rng.Offset(0, 1)
End If
End If
Next rng
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige