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

Forumthread: Zellen mit Exponent-Darstellung autom. umwandeln

Zellen mit Exponent-Darstellung autom. umwandeln
23.08.2006 15:23:38
Danny
Hallo zusammen
Habe in einer Spalte alle möglichen Werte (Text, Zahlen, Datum, Beträge usw.). Einige Zahlen werden in der Exponent-Darstellung angezeigt, z.B. 7.02091E+22. Ich habe nun herausgefunden dass Excel diese Darstellung ab einer Länge von 12 Ziffern wählt. Also wollte ich mit einem Abschnitt im Makro alle Zellen die länger sind als 11 in das Zahlenformat umwandeln, wovon Texte, Daten und Beträge nicht betroffen wären, das funzt aber nicht:
' Zahlen richtig anzeigen
For zeile = 1 To sa
If ActiveSheet.Cells(zeile, 2).Value.Length &gt 11 Then _
.NumberFormat = "0"
End If
Next zeile
"Unzulässiger oder nicht ausreichend definierter Verweis" wird angezeigt (sa ist die Zeilennummer der untersten Zeile). Kann mir jemand sagen was ich falsch mache oder gibt es eine andere, elegantere Möglichkeit?
Danny
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Exponent-Darstellung autom. umwandeln
23.08.2006 15:30:31
Eule
Hi Danny
du musst die Zellen mit "Zahl" formatieren, bei der Formatierung "Standard" gibts ab 11 Ziffern die exp. Darstellung, Datumeinträge natürlich mit dem Datumsformat.
Gruss Eule
AW: Zellen mit Exponent-Darstellung autom. umwandeln
23.08.2006 15:41:55
Danny
Hallo Eule
Danke für die rasche Antwort, allerdings ist mir das klar, genau das soll das Makro mit der Zeile .NumberFormat = "0" ja machen. Es handelt sich bei der Tabelle wiederum um das Ergebnis einer SQL-Abfrage (das Makro ändert die Darstellung von horizontal in vertikal) welche ich 'verschönern' möchte, u.a. Beträge mit 2 Kommastellen usw. Da es sich um grosse Tabelle handelt und der Sinn eines Makros die Automatisierung von Arbeitsschritten ist möchte ich die Funktion mit dem Makro ausführen und nicht von Hand.
Gruss, Danny
Anzeige
AW: Zellen mit Exponent-Darstellung autom. umwandeln
23.08.2006 15:41:12
Eule
Hi Danny nochmal
test mal dies:

Sub tt()
Dim zeile
For zeile = 1 To sa
If Len(ActiveSheet.Cells(zeile, 2).Value) > 11 Then Cells(zeile, 2).NumberFormat = "0"
Next zeile
End Sub

Gruss Eule
AW: Zellen mit Exponent-Darstellung autom. umwandeln
23.08.2006 15:46:02
Danny
Super, herzlichen Dank! Es klappt wie vorgesehen.
Nochmals Danke für die superschnelle Antwort, hab schon ne Menge Zeit mit googeln verloren bevor ich hier postete. Nun kann's weitergehen mit der Arbeit.
Gruss, Danny
Anzeige
;

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

Zellen mit Exponent-Darstellung umwandeln


Schritt-für-Schritt-Anleitung

Um Zellen mit Exponent-Darstellung in Excel automatisch in Dezimalzahlen umzuwandeln, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere folgenden Code in das Modul:

    Sub ExponentialzahlenUmwandeln()
       Dim zeile As Long
       Dim sa As Long
       sa = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row ' Letzte Zeile in Spalte B
    
       For zeile = 1 To sa
           If Len(ActiveSheet.Cells(zeile, 2).Value) > 11 Then
               ActiveSheet.Cells(zeile, 2).NumberFormat = "0"
           End If
       Next zeile
    End Sub
  4. Führe das Makro aus, indem Du im VBA-Editor auf F5 drückst oder zurück in Excel gehst und ALT + F8 wählst, um das Makro zu starten.


Häufige Fehler und Lösungen

  • Fehler: "Unzulässiger oder nicht ausreichend definierter Verweis"

    • Lösung: Stelle sicher, dass Du die richtige Syntax verwendest. Achte insbesondere auf den Verweis auf das .Value-Attribut. Der korrekte Code lautet If Len(ActiveSheet.Cells(zeile, 2).Value) > 11 Then.
  • Problem: Zellen werden nicht umgewandelt

    • Lösung: Überprüfe, ob die Zellen in der richtigen Spalte ausgewählt sind. Das oben genannte Beispiel geht von Spalte B aus.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch die folgende Methode ausprobieren:

  1. Markiere die Zellen, die Du umwandeln möchtest.
  2. Gehe zu Start -> Zahlenformat und wähle Zahl.
  3. Achte darauf, dass die Zellen nicht mehr als 11 Ziffern enthalten, um die Exponentialdarstellung zu vermeiden.

Praktische Beispiele

  • Wenn Du eine Zahl wie 7.02091E+22 hast und diese in 70209100000000000000000 umwandeln möchtest, kannst Du das oben genannte Makro verwenden.
  • Ein weiteres Beispiel wäre die Umwandlung von 1.23E+11 in 123000000000.

Tipps für Profis

  • Verwende die Funktion =TEXT(A1;"0"), um eine Zelle mit Exponentialdarstellung in Text ohne die E-Darstellung umzuwandeln.
  • Um sicherzustellen, dass die Zellen nicht als Exponentialzahlen angezeigt werden, kannst Du die Formatierung auf Zahl setzen und die Dezimalstellen anpassen.

FAQ: Häufige Fragen

1. Wie kann ich alle Zellen in einer Tabelle umwandeln? Du kannst das VBA-Makro anpassen, um alle Zellen in verschiedenen Spalten zu überprüfen, indem Du die Schleife erweiterst.

2. Was mache ich, wenn meine Daten aus einer SQL-Abfrage stammen? Stelle sicher, dass Du die Formatierung der Zellen nach dem Import der Daten anpasst. Du kannst das VBA-Makro direkt nach dem Import ausführen, um alle Exponentialzahlen zu konvertieren.

3. Gibt es eine Möglichkeit, dies ohne VBA zu tun? Ja, Du kannst die Formatierung der Zellen manuell ändern, aber das ist nicht so effizient wie die Automatisierung mit einem Makro.

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