Wie einfache mathematische in Excel VBA zu tun - Super User

Ich habe einen Wert in jeder Zelle, die größer ist als 60. Für meine Zwecke ist, ich brauche 60 subtrahieren von solchen Werten, bis der Wert kleiner als 60 ist also zum Beispiel sagen, ich habe eine Zelle einen Wert von 1000. Das enthält Wert wäre ich 40, da 40 verwenden mag, ist der erste Wert, der weniger als 60 nach wiederholtem Abziehen 60 ist.

Ich sehe eine Lösung, die VBA 60 wiederholt subtrahieren würde und dann stoppen und den Endwertanzeige, 40, wie dies die Bedingung erfüllt.

Der Datenbereich ist groß und Werte oberhalb von 60 können irgendwo im Bereich auftreten. Ich möchte dies automatisch zu tun, wenn ich die Tabelle öffnen, so dass alle Formeln, die auf Werte über 60 beziehen könnten die Reste verwenden.

Sie brauchen nicht VBA zu tun, was Sie wollen. Sie wollen 60 wiederholt abzuziehen, bis der Rest ist weniger als 60. Sie können VBA-Code zu schreiben, das zu tun, aber Sie können tun, dass in einem Schritt mit einer Formel:

Wenn Sie 1000 um 60 teilen, erhalten Sie 16,666. Das bedeutet, dass Sie benötigen würde 60 sechzehn Mal subtrahieren etwas weniger als 60. Die MOD-Funktion erzeugt den Rest nach der Teilung (in diesem Fall 40) zu erhalten, die auf diese Subtraktionen entspricht.

Sie können dies auf zwei Arten verwenden. Eine davon ist diese MOD Ausdruck zu übernehmen (ohne das Gleichheitszeichen) in Ihren Formeln anstelle der einfachen Zelle Bezug auf Datenzellen, die diese 60 wird verwenden, um die übersetzte Wert nicht überschreiten kann.

Wenn Sie zahlreiche Formeln, die jede Zelle verweisen und wollen nicht den Aufwand für all die wiederholte Neuberechnung der gleichen Werte haben, einen Satz von übersetzten Werten schaffen - einen doppelten Datenbereich, die die obige Formel enthält. Das wird die Daten einmal und dann alle Ihre Formeln übersetzen können diese Zahlen statt der Rohdaten verweisen. Wenn Sie nicht den Aufwand für diese Berechnungen aufgefrischt wollen, führen Sie eine Kopie | Inhalte einfügen | Werte. Sie können die Ergebnisse über die Rohdaten einfügen und dann die Zwischenberechnungen löschen.

Ich habe eine gute Nachricht! Da der Wert in ED1 eine Konstante ist, wird die Formel immer zu dem Wert:

Nehmen wir an, der lange Bereich A1: Z100

Hier ist die VBA-basierte Lösung:

Dies ist ein Arbeitsmappe Ereignis Makro.

Weil es Arbeitsmappe Code ist, ist es sehr einfach zu installieren und zu verwenden:

  1. Rechtsklick auf das kleine Excel-Symbol nur auf die linke Seite der Datei auf der Menüleiste
  2. Code anzeigen wählen - dies bringt ein VBE Fenster
  3. fügen Sie das Zeug in und die VBE-Fenster schließen

So entfernen Sie das Makro:

  1. bringen die VBE-Fenster, wie oben
  2. löschen Sie den Code aus
  3. Schließen Sie das Fenster VBE

Um mehr über Makros im Allgemeinen finden Sie unter:

Um mehr über Event-Makros (Arbeitsmappe Code) finden Sie unter:

Makros muss dafür aktiviert sein, um zu arbeiten!

In Verbindung stehende Artikel