Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zahl in Text umwandeln

Zahl in Text umwandeln
20.10.2007 17:18:36
Thomas
Hallo Leute,
ich möchte die in einer Zelle gespeicherte Zahl (z.B. 123,45) per VBA lesen und als Text in einer anderen Zelle in folgendem Format wieder ausgeben: 0000123.45
Das SAP versteht nur solche "Textzahlen" ;-)
Es gibt dabei nur postive Werte, aber eben auch ganzzahlige Werte ohne Komma. Diese sollen auch mit zwei Nachkommastellen umgewandelt werden also 123 in 0000123.00
Hat jemand eine Idee, wie man das einfach umwandeln kann.
Danke und Gruß
Thomas

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahl in Text umwandeln
20.10.2007 17:31:40
Original
Hi,
sollen das immer 7 Stellen vor dem Punkt sein, egal wie der Wert ist oder
immer 4 Nullen, egal wie der Wert ist?
mfg Kurt

AW: Zahl in Text umwandeln
20.10.2007 18:25:01
Thomas
Hallo Kurt,
ja immer 7 Vorkomma- und 2 Nachkommastellen...Das Komma ist in dem Fall aber ein Punkt...
Gruß Thomas

AW: Zahl in Text umwandeln
20.10.2007 18:55:00
Original
Hi,
aus dem Archiv leicht angepasst. Die zu bearbeitenden Zellen müssen markiert werden:

''== Autor: K.Rola                                                              ==
''== Erstellt am: 03.11.2004                                                    ==
''== Unterliegt dem Urheberrecht Deutschlands!                                  ==
''== Verwendung ohne jegliche Garantie und Gewährleistung!                      ==
''== Code getestet unter Windows XP und VBA6                                    ==
Option Explicit
Sub versiv()
Const M1 As String = "Weise hin..."
Const E As String = ".00"
Const Stellen As Integer = 10
Dim s As String, c As Range, Counter As Long
If Selection.Columns.Count = 1 Then
If Application.CountA(Selection)  0 Then
For Each c In Selection
s = c.Text
If Len(s) > 0 Then
Counter = Counter + 1
If InStr(s, ",") > 0 Then
s = Replace(s, ",", ".")
Else
s = s & E
End If
If Stellen - Len(s) > -1 Then
s = String(Stellen - Len(s), "0") & s
End If
c.Offset(0, 1).NumberFormat = "@"
c.Offset(0, 1) = s
End If
Next
If Counter = 0 Then
MsgBox "Keine Zellen gefunden!     ", 64, M1
Else
MsgBox Counter & " Zelle(n) bearbeitet!     ", 64, M1
End If
Else
MsgBox "Die Auswahl enthält keine Daten!     ", 64, M1
End If
Else
MsgBox "Bitte nur eine Spalte markieren!     ", 64, M1
End If
End Sub


mfg Kurt

Anzeige
AW: Zahl in Text umwandeln
20.10.2007 19:09:00
Thomas
Hallo Kurt,
danke für die schnelle Hilfe. Ich probier es morgen früh gleich mal aus... :-)))
Danke und Gruß
Thomas

AW: Zahl in Text umwandeln
20.10.2007 20:56:00
Gerd
Hallo Thomas,
ich habe es so verstanden, Beispiel von Spalte "E" nach Spalte "F".

Sub test()
Dim lngrow As Long
Columns(6).NumberFormat = "@"
For lngrow = 1 To Cells(Rows.Count, 5).End(xlUp).Row
If IsNumeric(Cells(lngrow, 5)) Then
Cells(lngrow, 6) = Replace(Format(Round(Cells(lngrow, 5).Value, 2), "0######.00"), ",", ".")
End If
Next
End Sub


Gruß Gerd

Anzeige
Sehr schön! oT
21.10.2007 00:54:00
Original
oT

AW: Prima - funktioniert beides oT
21.10.2007 08:55:00
Thomas
DANKE EUCH BEIDEN :-)))
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zahl in Text umwandeln in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um eine Zahl in Text umzuwandeln und dabei ein bestimmtes Format zu verwenden (z. B. 0000123.45), kannst Du VBA in Excel nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du arbeiten möchtest.

  2. Öffne den VBA-Editor mit ALT + F11.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf „VBAProject (dein Dokument)“.
    • Wähle „Einfügen“ > „Modul“.
  4. Kopiere den folgenden Code in das Modul:

    Sub ZahlInTextUmwandeln()
       Dim c As Range
       Dim s As String
       Dim Stellen As Integer
       Stellen = 10 ' Anzahl der Stellen vor dem Komma
    
       For Each c In Selection
           If IsNumeric(c.Value) Then
               s = Replace(Format(Round(c.Value, 2), "0######.00"), ",", ".")
               s = String(Stellen - Len(s), "0") & s
               c.Offset(0, 1).NumberFormat = "@"
               c.Offset(0, 1) = s
           End If
       Next c
    End Sub
  5. Wähle die Zellen aus, die Du umwandeln möchtest.

  6. Führe das Makro aus:

    • Gehe zu „Entwicklertools“ > „Makros“ > wähle ZahlInTextUmwandeln und klicke auf „Ausführen“.

Jetzt werden die Zahlen in der von Dir gewünschten Form in die benachbarte Zelle umgewandelt.


Häufige Fehler und Lösungen

  • Fehler: Keine Zellen gefunden!

    • Lösung: Stelle sicher, dass Du Zellen ausgewählt hast, die Zahlen enthalten.
  • Fehler: Bitte nur eine Spalte markieren!

    • Lösung: Markiere nur eine Spalte, bevor Du das Makro ausführst.

Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch die Excel-Funktionen nutzen:

  • TEXT-Funktion: Du kannst die TEXT-Funktion verwenden, um eine Zahl in Text umzuwandeln. Beispiel:

    =TEXT(A1, "0000000.00")
  • Zellenformatierung: Ändere das Zellenformat in „Text“, bevor Du die Zahl eingibst. Dies kann jedoch zu unerwarteten Ergebnissen führen, wenn Du mit großen Zahlen arbeitest (z. B. e+12).


Praktische Beispiele

  1. Beispiel 1: Wenn Du die Zahl 123 in Zelle A1 hast:

    • Das Makro wandelt sie in Zelle B1 um und gibt 0000123.00 aus.
  2. Beispiel 2: Für die Zahl 12345.67 in Zelle A2:

    • Nach der Ausführung erhältst Du 0012345.67 in Zelle B2.

Tipps für Profis

  • Verwende Fehlerbehandlung in Deinem VBA-Code, um sicherzustellen, dass der Code robust ist.
  • Nutze Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies kann Dir helfen, Fehler in Deinem Code zu vermeiden.
  • Wenn Du mit großen Zahlen arbeitest, beachte die Wissenschaftliche Notation und wie Du diese in Text umwandeln kannst.

FAQ: Häufige Fragen

1. Wie kann ich eine Zahl in einen String umwandeln? Du kannst die Zahl mit der Funktion CStr() in einen String umwandeln, z. B. s = CStr(c.Value).

2. Ist es möglich, Zahlen ohne das "e" zu formatieren? Ja, indem Du die TEXT-Funktion oder VBA verwendest, kannst Du die Zahlen in dem gewünschten Format ausgeben, sodass sie nicht im wissenschaftlichen Format angezeigt werden.

3. Welche Excel-Version wird benötigt? Der bereitgestellte VBA-Code sollte in Excel ab Version 2003 ohne Probleme funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige