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

Mod in VBA versus REST()

Forumthread: Mod in VBA versus REST()

Mod in VBA versus REST()
03.04.2003 18:08:26
Matthias Gäbisch
Hallo,

ich möchte per Code den Rest einer Berechnung ermitteln:

bei: 1.5 mod 1 ist das Ergebnis 0, da mod nur ganze Zahlen nimmt

Die Funktion Rest liefert hier 0,5 und das ist genau der Wert den ich brauche.

Gibts hier ne Funktion in VBA

Danke

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Mod in VBA versus REST()
03.04.2003 19:27:08
Boris

Hi Matthias,

verwende in VBA
rest = 1.5 - Int(1.5)

Gruß Boris

Re: Mod in VBA versus REST()
04.04.2003 08:46:37
Michael Scheffler

Hi,

mit Application.WorksheetFuntion kannst Duu auch auf Rest zugreifen.

Zeichne Dir das mal auf, ich habe den enlischen Befehl nicht im Kopf.

Gruß

Micha

Re: Mod in VBA versus REST() WSF.MOD gibts nicht
04.04.2003 09:14:05
Matthias Gäbisch

Beim Aufzeichnen kommt =MOD(), und den Befehl gibt es bei Worksheetfunction nicht.

Anzeige
Erledigt
04.04.2003 09:22:15
Matthias Gäbisch

ich habs im Forum gefunden:

https://www.herber.de/forum/archiv/220to224/t221174.htm

Danke an alle

Matze

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Modulo und Rest in Excel VBA verstehen


Schritt-für-Schritt-Anleitung

Um den Rest einer Division in Excel VBA zu berechnen, kannst du die Mod-Funktion verwenden. Beachte jedoch, dass diese Funktion nur mit ganzen Zahlen arbeitet. Wenn du den Rest einer Gleitpunktzahl berechnen möchtest, kannst du folgenden Code verwenden:

Sub RestBerechnen()
    Dim zahl As Double
    Dim divisor As Double
    Dim rest As Double

    zahl = 1.5
    divisor = 1
    rest = zahl - Int(zahl / divisor) * divisor

    MsgBox "Der Rest ist: " & rest
End Sub

In diesem Beispiel wird der Rest von 1.5 geteilt durch 1 berechnet, was 0.5 ergibt. Du kannst den Code anpassen, um mit anderen Zahlen zu arbeiten.


Häufige Fehler und Lösungen

  1. Fehler: Verwendung von MOD mit Gleitpunktzahlen

    • Lösung: Verwende die oben dargestellte Berechnungsmethode, um den Rest korrekt zu ermitteln.
  2. Fehler: WorksheetFunction für MOD verwenden

    • Lösung: Beachte, dass die MOD-Funktion nicht in WorksheetFunction verfügbar ist. Du kannst stattdessen die Application.WorksheetFunction in Kombination mit der MOD-Funktion verwenden, jedoch nur für ganze Zahlen.

Alternative Methoden

Eine alternative Methode, um den Rest zu berechnen, besteht darin, die Excel-Funktion direkt in einer Zelle zu verwenden. Du kannst die MOD-Funktion wie folgt nutzen:

=MOD(1.5, 1) 

Diese Formel gibt 0 zurück, da MOD nur mit ganzen Zahlen arbeitet. Für Gleitpunktzahlen ist die VBA-Lösung die bessere Wahl.


Praktische Beispiele

Hier sind einige Beispiele, wie du die Rest-Berechnung in verschiedenen Szenarien verwenden kannst:

  1. Berechnung des Rests bei verschiedenen Zahlen:
Sub RestBeispiele()
    MsgBox "Rest von 3.7 / 1 ist: " & (3.7 - Int(3.7))
    MsgBox "Rest von 4.2 / 1 ist: " & (4.2 - Int(4.2))
End Sub
  1. Verwendung der VBA Mod-Funktion:
Sub ModBeispiel()
    Dim ergebnis As Double
    ergebnis = 5 Mod 2
    MsgBox "5 Mod 2 ist: " & ergebnis
End Sub

Tipps für Profis

  • Wenn du häufig mit Gleitpunktzahlen arbeitest, überlege, eine eigene Funktion in VBA zu erstellen, die den Rest für dich berechnet.
  • Nutze Debug.Print, um Zwischenergebnisse in der Konsole anzuzeigen, während du deine VBA-Programmierung entwickelst.
  • Vertraue darauf, dass die VBA Mod-Funktion ideal für ganze Zahlen ist, während du für Gleitpunktzahlen die oben beschriebenen Methoden verwendest.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen MOD und Rest in VBA? Der Unterschied liegt darin, dass MOD nur mit ganzen Zahlen funktioniert, während die Rest-Berechnung in VBA auch für Gleitpunktzahlen angewendet werden kann.

2. Kann ich die MOD-Funktion in Excel für Divisionen mit Rest verwenden? Ja, aber nur für ganze Zahlen. Bei Gleitpunktzahlen musst du die oben genannten VBA-Methoden verwenden, um den Rest zu ermitteln.

3. Welche Excel-Version benötige ich für diese Funktionen? Die beschriebenen Funktionen sind in den meisten aktuellen Excel-Versionen verfügbar, einschließlich Excel 2016 und höher.

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