Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1032to1036
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
Inhaltsverzeichnis

Zelle in bestimmter Art&Weise formatieren

Zelle in bestimmter Art&Weise formatieren
18.12.2008 15:44:00
TommiH
Hai,
ich habe eine Frage, ich habe das Problem nun zwar per VBA gelöst, aber geht das auch einfacher direkt mit einer Formatierungsanweisung? Ich habe folgende Varianten in einer (vielen) Zellen stehen und möchte das in den Zellen umformatieren.
23x1x123x134x342x12x
1x3x132x31x121x534x123
122x3x123
4x14x144x134x
Also es kann in jeder Zelle eine beliebige Anzahl von (maximal 3-stelligen) Zahlen stehen die immer durch ein x getrennt sind. Am Ende kommt manchmal aber nicht immer ein x
Ziel ist nun folgende Ausgabe (jede Zeile entspricht einer Zelle)
023001123134342012
00100313201121534123
122003123
004014144134
Also alle x weg und alle Zahlen 3-stellig mit führender Null und das Feld muss dann vermutlich als Text formatiert sein/werden, damit die führende 0 nicht verschwindet.
Gelöst habe ich das im Moment mit einigen Schleifen + Formatabfragen und einigen If-Abfragen. Das scheint zu gehen, aber geht es auch einfacher? (ich bin nämlich nicht sicher ob die Programmierung in allen Fällen richtig arbeitet - über das x mal am Ende und mal nicht bin ich fast _gestolpert_ ;) )
LG,
Tommi

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

Betreff
Datum
Anwender
Anzeige
AW: Zelle in bestimmter Art&Weise formatieren
18.12.2008 16:08:00
hary
Hallo Tommi
versuch mal diesen Code. Hier gilts fuer Zelle A1. Bereich musst Du noch anpassen. Alle x werden geloescht.

Dim i
Sub ent()
With Cells(1, 1) 'Bereich anpassen
For i = 1 To Len(.Value)
If Mid$(.Value, i, 1) = "x" Then
.Characters(Start:=i, Length:=1).Delete
End If
Next
End With
End Sub


Gruss Hary

AW: falsch gelesen code geht nicht, owt
18.12.2008 16:12:05
hary
.
AW: Zelle in bestimmter Art&Weise formatieren
18.12.2008 16:59:51
Daniel
Hi
probier mal das hier
umgeformt wird der selektierte Bereich

Sub Umformen()
Dim Zelle As Range
Dim strX() As String
Dim i As Long
Dim strErg As String
For Each Zelle In Intersect(Selection, ActiveSheet.UsedRange)
strX = Split(Zelle.Value, "x")
For i = LBound(strX) To UBound(strX)
If IsNumeric(strX(i)) Then
If strX(i) > 0 Then strErg = strErg & Format(strX(i), "000")
End If
Next
Zelle.Value = "'" & strErg
strErg = ""
Next
End Sub


das Makro nutzt die Split-Funktion, die in deiner Excelversion neu ist.
ne alternative zu VBA fällt mir aber auch nicht ein.
Gruß, Daniel

Anzeige
AW: Zelle in bestimmter Art&Weise formatieren
18.12.2008 17:01:00
Jürgen
Hallo Tommi,
der nachfolgende Code führt die Umwandlung im markierten Bereich durch:

Sub umwandeln()
Dim Bereich As Range
Dim Zelle As Range
Dim AlterInhalt() As String
Dim NeuerInhalt As String
Dim n As Integer
Set Bereich = Selection
For Each Zelle In Bereich
If Len(Zelle.Value) > 0 Then
If UCase(Right(Zelle.Value, 1)) = "X" Then
AlterInhalt = Split(Left(Zelle.Value, Len(Zelle.Value) - 1), "x")
Else
AlterInhalt = Split(Zelle.Value, "x")
End If
NeuerInhalt = "'"
For n = 0 To UBound(AlterInhalt)
NeuerInhalt = NeuerInhalt & Format(AlterInhalt(n), "000")
Next
Zelle.Formula = NeuerInhalt
End If
Next
End Sub


Herzlichen Gruß
Jürgen

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige