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

VBA Nachkomma stellen löschen?

Forumthread: VBA Nachkomma stellen löschen?

VBA Nachkomma stellen löschen?
14.09.2006 16:02:28
Torben
Hallo.
Mein Problem ich habe eine Liste von Formeln die Werte berechnen diese Formeln ersetze ich durch deren Ergebnisse. Alles kein Problem nur dass das Ergebnis zu viele Nachkamma stellen hat und ich jetzt bei jeder einzelnen Zelle diese wegmachen müsste. Mit Formatierung kann ich dies eingrenzen aber sie sind trotzdem noch existent.
Gibt es dafür ein Makro das mir die Nachkommastellen beseitigt oder Ideen wie ich dies programmieren könnte.
Bin für alles dankbar.
Torben
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Nachkomma stellen löschen?
14.09.2006 16:04:52
Herbert
Hi,
die Werte in den Formeln vorm Umwandeln in Werte runden?
mfg Herbert
AW: VBA Nachkomma stellen löschen?
15.09.2006 07:43:05
Torben
Hat sich erledigt! Herbert der Tipp war super.
Merci!!!
AW: VBA Nachkomma stellen löschen?
14.09.2006 20:53:10
MichaV
Hallo,
Int-, Fix-Funktionen
Gibt den ganzzahligen Anteil einer Zahl zurück.
Syntax
Int(Zahl)
Fix(Zahl)
Das erforderliche Argument Zahl ist ein Wert vom Typ Double oder ein beliebiger zulässiger numerischer Ausdruck. Wenn Zahl den Wert Null enthält, wird Null zurückgegeben.
Bemerkungen
Int und Fix entfernen beide die Nachkommastellen einer Zahl und geben den daraus resultierenden ganzzahligen Wert zurück.
Der Unterschied zwischen Int und Fix besteht darin, daß bei einem negativen Wert von Zahl Int die erste negative ganze Zahl zurückgibt, die kleiner oder gleich Zahl ist, während Fix die erste negative ganze Zahl zurückgibt, die größer oder gleich Zahl ist. Int wandelt zum Beispiel -8,4 in -9 um, während Fix -8,4 in -8 umwandelt.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: VBA Nachkomma stellen löschen?
15.09.2006 07:38:55
Torben
Hab mich villeicht ein wenig blöd ausgedrückt! Er soll nicht alle Nachkommastellen löschen. 3 sollten noch übrig bleiben.
Ürgendwelche Ideen oder kann ich die Lösungansetze dafür auch benutzen.
PS: MichaV wie kann kann ich denn die beiden Funktionen ein eine VBA-Anwendung integrieren, hatte noch nicht viel mit VBA zu tun!
Danke
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Nachkommastellen in Excel mit VBA entfernen und abschneiden


Schritt-für-Schritt-Anleitung

Um Nachkommastellen in Excel mithilfe von VBA zu entfernen oder abzuschneiden, kannst Du ein einfaches Makro erstellen. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Klicke auf "Einfügen" und wähle "Modul", um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub NachkommastellenAbschneiden()
       Dim Zelle As Range
       For Each Zelle In Selection
           If IsNumeric(Zelle.Value) Then
               Zelle.Value = Application.WorksheetFunction.Round(Zelle.Value, 3 ' Ersetze 3 durch die Anzahl der Nachkommastellen, die Du behalten möchtest.
           End If
       Next Zelle
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Markiere die Zellen, in denen Du die Nachkommastellen entfernen möchtest.

  6. Drücke ALT + F8, wähle NachkommastellenAbschneiden aus und klicke auf "Ausführen".

Damit werden die Nachkommastellen in den markierten Zellen entsprechend Deinen Vorgaben entfernt.


Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt"

    • Lösung: Stelle sicher, dass Du nur numerische Werte in den Zellen hast, die Du bearbeitest.
  • Fehler: "Makro funktioniert nicht"

    • Lösung: Überprüfe, ob Makros in Deinen Excel-Einstellungen aktiviert sind.
  • Nachkommastellen bleiben bestehen

    • Lösung: Stelle sicher, dass Du das richtige Format für die Zahl verwendest und dass das Makro vollständig ausgeführt wurde.

Alternative Methoden

Falls Du VBA nicht verwenden willst, kannst Du auch die integrierten Excel-Funktionen nutzen:

  • Rundungsfunktion: Verwende die RUNDEN-Funktion in einer neuen Spalte:

    =RUNDEN(A1; 3)  ' Hier wird die Zahl in A1 auf 3 Nachkommastellen gerundet.
  • Formatierung: Du kannst auch die Zellen formatieren, um die Anzeige der Nachkommastellen zu steuern, aber dies entfernt sie nicht vollständig.


Praktische Beispiele

  1. Beispiel mit VBA: Nehmen wir an, Du hast die Werte in den Zellen A1 bis A5:

    A
    3.14159
    2.71828
    1.41421
    1.61803
    0.57721

    Wenn Du das Makro ausführst, wird das Ergebnis in den Zellen wie folgt aussehen:

    A
    3.142
    2.718
    1.414
    1.618
    0.577
  2. Beispiel mit Excel-Funktion: Verwende die Formel =RUNDEN(A1; 3) in Zelle B1 und ziehe sie nach unten. Das Ergebnis zeigt auch 3 Nachkommastellen an.


Tipps für Profis

  • Verwende die FIX- oder INT-Funktion in VBA, wenn Du die Nachkommastellen für negative Werte anders behandeln möchtest.

  • Dokumentiere Deine Makros, damit Du später nachvollziehen kannst, was sie tun.

  • Teste Dein Makro an einer Kopie Deiner Daten, um unbeabsichtigte Änderungen zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich das Makro auf alle Zellen in einem Arbeitsblatt anwenden? Ja, Du kannst den Code anpassen, um eine gesamte Spalte oder das gesamte Blatt zu durchlaufen.

2. Was passiert, wenn ich mehr als 3 Nachkommastellen behalten möchte? Ändere einfach die Zahl in der Round-Funktion auf die gewünschte Anzahl von Nachkommastellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige