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

Forumthread: vba text in zahl umwandeln

vba text in zahl umwandeln
12.12.2014 08:27:34
Rudi
Hallo liebes Forum,
ich habe eine Tabelle mit Überschriften, die mit SAP Daten gefüllt und ständig erweitert wird. Nachdem ich die Daten in die Tabelle eingefügt habe, erscheint in jeder Zelle der Wert im Textformat. Gibt es eine Möglichkeit, alle Zellen, bis zur letzten Zeile, in welcher sich ein Wert befindet mit Hilfe eines VBA-Codes in eine Zahl umzuwandeln?
Die Tabelle ist von der Spalte A bis zur Spalte Y gefüllt und unterschiedlich lang. Es müssten also immer die Werte ab Zeile 2 bis zur letzten Zeile umgewandelt werden.
Vielen Dank schon mal im voraus.
Mfg Rudi

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba text in zahl umwandeln
12.12.2014 09:44:38
JörgB
Hallo Rudi,
um die letzte Zeile zu ermitteln gibt es verschiedene Möglichkeiten. Insbesondere die Frage, ob alle Spalten die gleiche Anzahl von Zeilen aufweisen ist dabei interessant und von Dir nicht angegeben.
Siehe: http://www.makro-excel.de/2013/04/26/mit-unterschiedlichen-varianten-die-letzte-benutzte-zeile-oder-spalte-ermitteln/
Ohne VBA:
In einer leeren Zelle 1 eingeben, die Zelle kopieren.
Tabelle markieren / Inhalte einfügen / multiplizieren / ok
Die 1 wieder löschen
Ciao JörgB

Anzeige
AW: vba text in zahl umwandeln
12.12.2014 10:18:57
Rudi
Hallo JörgB,
danke für deine Antwort. Die Variante ohne VBA ist mir bekannt und funktioniert auch einwandfrei. Meiner Meinung nach macht es aber aufgrund der ständigen Erweiterung wenig Sinn, die Umwandlung manuell durchzuführen.
Zur Ermittlung der letzten Zeile: In meiner Tabelle haben alle Spalten die gleiche Anzahl an Zeilen.
Es wäre super, wenn es eine kombinierte Lösung hierzu geben würde.
Grüße Rudi

Anzeige
AW: vba text in zahl umwandeln
12.12.2014 10:41:57
hary
Moin
Einach: Text in Spalten nutzen. Kannst du aufzeichnen.
gruss hary

AW: vba text in zahl umwandeln
12.12.2014 12:50:06
Rudi
ok, diese Idee funktioniert immer nur für eine Spalte.

AW: vba text in zahl umwandeln
12.12.2014 13:44:20
hary
Moin
Und wie sieht es hiermit aus? Blattname anpassen.
With Worksheets("Tabelle1").Range("A2:Y" & Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp) _
.Row)
.NumberFormat = "General"
.Value = .Value
End With

gruss hary

Anzeige
AW: vba text in zahl umwandeln
12.12.2014 14:38:03
Rudi
Hallo Hary,
Danke, deine Lösung funktioniert fast perfekt. Den Zelleninhalt 44,9833 wandelt der Code beispielsweise problemlos in eine Zahl um, den Zelleninhalt 0,0051 jedoch nicht. An was könnte das liegen?
Gruß Rudi

AW: vba text in zahl umwandeln
12.12.2014 14:55:22
hary
Moin
Keine Ahnung was in den Zellen wirklich steht. Bei der uebertragung von SAP koennen andere Zeichen mitkopiert werden.
Teste die Zelle mit Laengeformel:



Tabelle1
 AB
10,00516

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B1=LÄNGE(A1)  =LEN(RC[-1])

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

Oder lad mal eine Bsp.-mappe hoch. Braucht nur die Textzahlen.
gruss hary

Anzeige
AW: am einfachsten mit TEXT IN SPALTEN
12.12.2014 15:17:25
Daniel
wenn du es sowieso per Makro machen willst, dann kannst du ja auch eine Schleife erstellen, die die Tabelle spaltenweise durchgeht:
Dim rngC As Range
For Each rngC In ActiveSheet.UsedRange.Columns
rngC.TextToColumns Destination:=rngC(1), DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
Next
wenn du ohne VBA arbeiten willst, gehts am schnellsten wahrscheinlich so:
1. in eine freie Zelle neben der Tabelle die 1 eintragen
2. diese Zelle kopieren
3. die Tabelle, die umgewandelt werden soll markieren. Wenn du ganze Spalten markierst müsstest du die Markierung auf Zellen mit Text reduzieren, das geht mit der Menüfunktion Start - Bearbeiten - Suchen und Auswählen - Inhalte - Konstanten - Texte
4. die kopierte 1 dann als Wert einfügen und den Vorgang "multiplizieren" im Kontextmenü auswählen.
Gruß Daniel

Anzeige
AW: am einfachsten mit TEXT IN SPALTEN
12.12.2014 15:29:22
Rudi
Hallo Daniel,
super danke, funktioniert perfekt
Grüße
;

Forumthreads zu verwandten Themen

Anzeige
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

Text in Zahl umwandeln mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um mit VBA Text in Zahl umzuwandeln, kannst du folgenden Code verwenden. Dieser Code konvertiert alle als Text gespeicherten Zahlen in den Zellen von Spalte A bis Y ab Zeile 2 bis zur letzten Zeile:

Sub TextInZahlUmwandeln()
    With Worksheets("Tabelle1").Range("A2:Y" & Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row)
        .NumberFormat = "General"
        .Value = .Value
    End With
End Sub

So gehst du vor:

  1. Öffne den VBA-Editor (Alt + F11).
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und führe das Makro aus (Alt + F8).

Häufige Fehler und Lösungen

Problem: Der Zelleninhalt wird nicht korrekt umgewandelt, z. B. 0,0051 bleibt als Text erhalten.
Lösung: Überprüfe, ob in den Zellen unsichtbare Zeichen oder Leerzeichen vorhanden sind. Du kannst die Funktion LÄNGE verwenden, um die Länge der Inhalte zu überprüfen.

Problem: Der Code funktioniert nicht auf alle Zellen gleichzeitig.
Lösung: Stelle sicher, dass du die richtige Range angibst. Der Code oben sollte alle Zellen von A2 bis zur letzten Zeile in Spalte Y umfassen.


Alternative Methoden

Falls du ohne VBA arbeiten möchtest, gibt es auch eine einfache Methode, um Text in Zahl umzuwandeln:

  1. Schreibe die Zahl 1 in eine leere Zelle.
  2. Kopiere diese Zelle.
  3. Markiere die Zellen mit Text, die du umwandeln möchtest.
  4. Klicke mit der rechten Maustaste und wähle „Inhalte einfügen“ und dann „Multiplizieren“.
  5. Lösche die Zelle mit der 1.

Diese Methode funktioniert gut für ganze Spalten oder Zeilen.


Praktische Beispiele

  1. Gesamte Spalte umwandeln: Wenn du die gesamte Spalte A in Zahlen umwandeln möchtest, kannst du diesen VBA-Code anpassen:

    Sub GanzeSpalteInZahlUmwandeln()
       With Worksheets("Tabelle1").Columns("A")
           .NumberFormat = "General"
           .Value = .Value
       End With
    End Sub
  2. Zellen in einer bestimmten Zeile umwandeln: Wenn du nur die Zellen in Zeile 2 umwandeln möchtest, kannst du folgenden Code verwenden:

    Sub ZeileInZahlUmwandeln()
       With Worksheets("Tabelle1").Rows(2)
           .NumberFormat = "General"
           .Value = .Value
       End With
    End Sub

Tipps für Profis

  • Verwende die TextToColumns-Methode, um komplexere Daten zu verarbeiten. Diese Methode kann auch nützlich sein, wenn du Daten aus verschiedenen Formaten in Zahlen umwandeln möchtest.

    Dim rngC As Range
    For Each rngC In ActiveSheet.UsedRange.Columns
      rngC.TextToColumns Destination:=rngC(1), DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
    Next
  • Denke daran, dass der Value einer Zelle in Excel sowohl Text als auch Zahlen sein kann. Daher solltest du darauf achten, dass du den richtigen Datentyp verwendest, wenn du mit VBA arbeitest.


FAQ: Häufige Fragen

1. Frage: Warum wird 0,0051 nicht korrekt umgewandelt?
Antwort: Möglicherweise sind unsichtbare Zeichen oder Leerzeichen in der Zelle vorhanden. Überprüfe den Inhalt der Zelle mit der Funktion LÄNGE.

2. Frage: Kann ich die Umwandlung auch auf mehrere Blätter anwenden?
Antwort: Ja, du kannst den Code so anpassen, dass er durch alle Blätter iteriert und die Umwandlung dort anwendet. Verwende eine Schleife, um durch die Blätter zu gehen.

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