Microsoft Excel

Herbers Excel/VBA-Archiv

vba text in zahl umwandeln

Betrifft: vba text in zahl umwandeln von: Rudi
Geschrieben am: 12.12.2014 08:27:34

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

  

Betrifft: AW: vba text in zahl umwandeln von: JörgB
Geschrieben am: 12.12.2014 09:44:38

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


  

Betrifft: AW: vba text in zahl umwandeln von: Rudi
Geschrieben am: 12.12.2014 10:18:57

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


  

Betrifft: AW: vba text in zahl umwandeln von: hary
Geschrieben am: 12.12.2014 10:41:57

Moin
Einach: Text in Spalten nutzen. Kannst du aufzeichnen.
gruss hary


  

Betrifft: AW: vba text in zahl umwandeln von: Rudi
Geschrieben am: 12.12.2014 12:50:06

ok, diese Idee funktioniert immer nur für eine Spalte.


  

Betrifft: AW: vba text in zahl umwandeln von: hary
Geschrieben am: 12.12.2014 13:44:20

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


  

Betrifft: AW: vba text in zahl umwandeln von: Rudi
Geschrieben am: 12.12.2014 14:38:03

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


  

Betrifft: AW: vba text in zahl umwandeln von: hary
Geschrieben am: 12.12.2014 14:55:22

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


  

Betrifft: AW: vba text in zahl umwandeln von: Rudi
Geschrieben am: 12.12.2014 15:23:52

Hier mal eine Testdatei

https://www.herber.de/bbs/user/94372.xlsm


  

Betrifft: AW: am einfachsten mit TEXT IN SPALTEN von: Daniel
Geschrieben am: 12.12.2014 15:17:25

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


  

Betrifft: AW: am einfachsten mit TEXT IN SPALTEN von: Rudi
Geschrieben am: 12.12.2014 15:29:22

Hallo Daniel,

super danke, funktioniert perfekt

Grüße


 

Beiträge aus den Excel-Beispielen zum Thema "vba text in zahl umwandeln"