Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text Zahlen umwandeln (Makro!)

Text Zahlen umwandeln (Makro!)
15.02.2018 20:10:27
Lisa
Hallo zusammen,
ich hoffe INSTÄNDIG, dass mir hier jemand weiterhelfen kann, da ich seit Tagen nicht weiterkomme und nicht mehr weiß was ich noch tun soll…
Folgendes, eigentlich doch einfaches Problem, dass zwingend über ein Makro gelöst werden muss:
Ich habe eine Excel-QUELLDATEI und eine Excel-ZIELDATEI.
Ein Tabellenblatt aus der QUELLDATEI wird über eine Datenverbindung in die ZIELDATEI "eingebunden". Ich gehe hier über [Daten -> Verbindungen] in Excel. Der Abruf etc. funktioniert auch einwandfrei.
So, nun kommen wir langsam zum eigentlichen Problem:
Obwohl in der QUELLDATEI alle Zahlen auch als Zahlen gespeichert sind (und nicht Text), werden die Zahlen in der ZIELDATEI nicht als Zahlen interpretiert sondern als Text! Das führt natürlich dazu, dass mit den "Zahlen" nicht weitergerechnet werden kann!
Das fand ich jetzt eigentlich nicht sooo schlimm, denn das lässt sich manuell ja sehr simpel lösen: 1 in eine Zelle schreiben, die 1 kopieren, die als Text interpretierten Zahlen markieren, Rechtsklick, Inhalte einfügen, multiplizieren, fertig! FUNKTIONIERT!
Nun diesen manuellen Schritt jetzt einfach als Marko speichern und gut ist - EBEN NICHT!!! Das Makro läuft ohne Fehler durch, aber es ändert sich NICHTS! Im Gegensatz zur "manuellen" Variante :-(
Hier der VBA-Code:
Sub Mit_1_multiplizieren()
Cells(4, 3) = 1
Cells(4, 3).Select
Selection.Copy
Range("E9:F32").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
End Sub
Hier findet ihr mein Minimalbeispiel:
https://www.dropbox.com/s/ogdw32boohut7tx/Problem.xlsm?dl=0
BITTE HELFT MIR!
Abschließender Hinweis: Das Beispiel ist wie gesagt ein Minimalbeispiel! In Wirklichkeit ist die Datei viel größer! Viel größer heißt ca. 300.000 Zeilen und 30 Spalten - also ca. 9.000.000 Zellen! Ich hatte auch schon andere VBA-Codes versucht (Schleifen etc.), diese funktionieren auch, laufen aufgrund der hohen Zellenanzahl aber STUNDEN!
Allerletzter Hinweis: Es gab das "gleiche" Problem hier scheinbar schon mal, jedoch ohne abschließende Lösung:
https://www.herber.de/forum/archiv/1140to1144/1141415_in_eine_Zahl_umwandeln.html
Schon einmal vielen lieben Dank!
Schöne Grüße
Lisa
Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Viele Kerne
15.02.2018 20:22:16
Fennek
Hallo,
nur ein Versuch:
da xl alle vorhandenen Prozessor-Kerne nutzt, VBA aber nur einen, warum nicht die Umwandlung von Hand versuchen:
In eine freie Zelle eine 1 schreiben und kopieren, alle Zellen auswählen und mit F5, Inhalte, Einfügen mit multiplizieren starten.
Nach einem Versuch kennst du das Tempo.
mfg
Anzeige
AW: Viele Kerne
15.02.2018 21:17:24
Lisa
Hallo!
Ich weiß nicht ob ich dich richtig verstanden habe, aber ich glaube schon, nur: Manuell habe ich es doch schon getan - und das funktioniert auch - siehe meine erster Beitrag.
Ich muss das aber über ein Makro lösen (steht ebenfalls in meinem Beitrag und Titel), von daher weiß ich nicht was du mir sagen willst :-/
Vielleicht habe ich dich doch falsch verstanden?
Anzeige
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 20:23:54
Werner
Hallo Lisa,
bei mir gehts:
Cells(4, 3) = 1
Cells(4, 3).Copy
Range("E9:F32").PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
Cells(4, 3).ClearContents
Wenn du eine Datei hochladen willst, dann benutze die Forensoftwar "Zum File-Upload"
Gruß Werner
Anzeige
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 20:28:37
Lisa
Hallo Werner,
ich wollte die Forensoftware "Zum File-Upload" verwenden, allerdings sind bei mir alle Dateien "ausgegraut" und ich kann nichts anwählen :-/
Darf ich fragen ob das mit MEINER Beispieldatei ging?!?
Viele Grüße
Lisa
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 20:50:38
Werner
Hallo Lisa,
ich hab mir deine Beispielmappe nicht heruntergeladen.
Bzgl. des Forenuploads solltest du auf folgendes achten:
-Datei nicht größer als 300 kb
-Datei nicht zu tief in Verzeichnissen abgelegt
-keine Sonderzeichen im Dateinamen
Am besten legst du dir mal eine Kopie der Datei auf deinen Desktop, benennst sie in Muster oder so um und verkleinerst sie auf unter 300 kb. Dann sollte auch der Upload funktionieren.
Übrigens die Uploadfunktion erstellt einen Link, den kopieren und im Beitrag einfügen.
Gruß Werner
Anzeige
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 21:00:58
Lisa
Hallo Werner,
jetzt ging es - allerdings nur an meinem Windows-Rechner. Von meinem Mac aus geht es trotzdem nicht. Egal, hier der Link:
https://www.herber.de/bbs/user/119851.xlsm
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 21:21:03
Werner
Hallo Lisa,
ich stell den Beitrag mal auf offen - .xlsm kann ich hier nicht herunterladen.
Gruß Werner
Anzeige
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 21:23:20
Lisa
Hallo Werner,
ähm was meinst du damit? Soll ich die Datei ohne Makro speichern, also .xlsx?
Grüße
AW: Text Zahlen umwandeln (Makro!)
15.02.2018 20:40:27
Lisa
Hallo nochmal Werner,
also ich habe jetzt mal deinen Code in meine Beispielsdatei eingesetzt - geht bei mir immer noch nicht :-(
Das kann doch nicht sein!!!
AW: kleine Beispieldatei
15.02.2018 20:51:44
Fennek
Hallo Lisa,
hier im forum gibt es das Limit von 300 kb für uploads. Dropbox wird (sehr) gemieden.
Also zum Testen reichen 10-20 Zeilen, ABER die Formate müssen dem Original entsprechen.
mfg
Anzeige
AW: Text Zahlen umwandeln (Makro!)
16.02.2018 21:37:36
onur
z.B.:
Range(Cells(5, 1), Cells(100000, 40)).NumberFormat = "General"

AW: Text Zahlen umwandeln (Makro!)
21.02.2018 19:35:56
Lisa
Hallo onur,
dass funktioniert nicht, trotzdem Danke!
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 19:36:50
Lisa
Hat noch irgendjemand eine Idee?
Vielen Dank!
Anzeige
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 19:39:16
onur
Dan poste doch mal eine Datei (mit 100-200 Zeilen), das reicht.
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 21:04:54
Lisa
Hallo onur,
das habe ich doch - aber zugegeben nicht in meinem ersten Beitrag :-)
Hier noch einmal der Link:
https://www.herber.de/bbs/user/119851.xlsm
Vielen Dank!
Anzeige
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 21:10:31
onur
Ich weiss nicht, was man genau an diesem Beispiel sehen soll.
Abgesehen davon, ich könnte wetten, daß das Problem nur durch diese sogenannte "intelligente" Tabelle ensteht.
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 21:14:11
Lisa
Hallo onur,
das Beispiel bezieht sich auf meinen Eingangspost.
Das Beispiel kann jedoch von freundlichen Helfern gerne auch verwendet werden um zu prüfen, ob die vermeidliche Lösung auch funktioniert. Und sollte die Lösung nicht funktionieren haben die Helfenden oft auch das Bedürfnis zu sehen, dass die Lösung nicht funktioniert - und warum.
Und diese "intelligente" Tabelle entsteht zwangsläufig bei der Einbindung einer externen Excel-Tabelle über "Verbindungen".
Anzeige
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 21:19:58
onur
Um zu sehen, ob etwas funktioniert bzw um den Fehler zu beheben, müsste man diesen Fehler auch sehen, aber, wie bereits erwähnt, ich weiss nicht, wo in deiner Beispieldatei genau der Fehler sein soll.
Und ohne ihn zu sehen, kann man ihn auch schwer beheben.
AW: Text Zahlen umwandeln (Makro!)
21.02.2018 21:20:18
Lisa
Hallo noch einmal onur,
sollten dir noch Informationen fehlen, dann sag bitte einfach Bescheid!
Worum es geht (zusammengefasst):
Ich muss über ein Makro einfach nur die als Text "formatierten" Zahlen un "echte" Zahlen wandeln! Und das für eine SEHR große Anzahl von Zellen - daher sind einfache Schleifen-Lösungen nicht geeignet...
MANUELL geht das SUPER über: Eine "1" in eine Zelle schreiben; die 1 kopieren; den Zahlen/Text-Bereich markieren; Rechtsklick; Inhalte einfügen...; Multiplizieren; FERTIG! Das müsste jedoch als Makro umgesetzt werden - was ich leider nicht hinbekommen habe...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text in Zahl umwandeln mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Text in Zahlen umzuwandeln, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du dies umsetzt:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub TextInZahlUmwandeln()
       Dim rng As Range
       Set rng = Range("E9:F32") ' Ändere den Bereich entsprechend deiner Daten
    
       ' Hilfszelle für die Multiplikation
       Cells(1, 1).Value = 1
       Cells(1, 1).Copy
    
       ' Text in Zahlen umwandeln
       rng.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
       Application.CutCopyMode = False ' Kopiermodus deaktivieren
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus:

    • Drücke ALT + F8, wähle TextInZahlUmwandeln und klicke auf Ausführen.

Das Makro wird die als Text formatierten Zahlen in dem angegebenen Bereich in echte Zahlen umwandeln.


Häufige Fehler und Lösungen

  • Das Makro funktioniert nicht: Stelle sicher, dass du den richtigen Zellbereich angegeben hast. Überprüfe auch, dass der Text in Zahlen wirklich als Text formatiert ist.

  • Excel stürzt ab oder wird langsam: Bei großen Datenmengen kann das Makro lange dauern. Versuche, den Bereich in kleinere Abschnitte zu unterteilen oder nutze die Application.ScreenUpdating-Funktion, um die Bildschirmaktualisierung während der Ausführung zu deaktivieren.


Alternative Methoden

Wenn du VBA nicht verwenden möchtest, kannst du auch die folgenden Methoden ausprobieren:

  1. Verwendung der Funktion "WERT()":

    • In einer neuen Zelle kannst du die Formel =WERT(A1) verwenden, um den Text in Zahl umzuwandeln.
  2. Text in Spalten:

    • Markiere die Spalte mit den Textzahlen, gehe zu Daten > Text in Spalten, und folge dem Assistenten, um die Daten zu konvertieren.
  3. Kopieren und Einfügen:

    • Schreibe eine 1 in eine Zelle, kopiere sie und füge sie in den Bereich ein, in dem die Zahlen stehen, indem du Inhalte einfügen > Multiplizieren wählst.

Praktische Beispiele

Angenommen, du hast folgende Daten in den Zellen E9 bis F32:

E F
1 2
3 4
5 6
7 8

Wenn diese Zahlen als Text formatiert sind, wird das oben genannte Makro sie in echte Zahlen umwandeln, sodass du Berechnungen damit durchführen kannst.


Tipps für Profis

  • Optimierung des Codes: Wenn du häufig mit großen Datenmengen arbeitest, überlege, ob du den Code optimieren kannst, indem du Schleifen verwendest oder nur spezifische Bereiche anstatt ganzer Spalten bearbeitest.
  • Fehlerbehandlung hinzufügen: Implementiere On Error Resume Next und On Error GoTo 0, um den Code robuster zu machen.
  • Makros aufzeichnen: Nutze die Makro-Aufzeichnungsfunktion in Excel, um dir eine Vorstellung zu verschaffen, wie bestimmte Aktionen in VBA umgesetzt werden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass alle Zellen als Zahlen interpretiert werden?
Du kannst den Zellbereich in VBA mit NumberFormat = "General" formatieren, um sicherzustellen, dass Excel die Zellen als Zahlen erkennt.

2. Was soll ich tun, wenn der Code nicht funktioniert?
Überprüfe, ob der Bereich im Code korrekt ist. Stelle sicher, dass die Zellen tatsächlich Text und keine anderen Formate enthalten. Teste auch, ob das Makro in einer neuen, leeren Datei funktioniert.

3. Kann ich das Makro für andere Bereiche verwenden?
Ja, ändere einfach den Zellbereich im Code, um das Makro für andere Bereiche anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige