Anzeige
Archiv - Navigation
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

logik-Problem: Rest und Ganzzahl in VBA

logik-Problem: Rest und Ganzzahl in VBA
19.10.2006 19:04:55
Christian
Hallo zusammen,
stehe irgendwie auf dem Schlauch...
ich möchte in VBA einen Zähler (1 bis ...) so umrechnen, dass:
1) wenn der Rest von "Zähler" durch 3 gleich 1 ist, dann soll das Ergebnis 0 sein.
2) wenn der Rest von "Zähler" durch 3 gleich 2 ist, dann soll das Ergebnis 3 betragen.
3) und wenn der Rest von "Zähler" durch 3 gleich 0 ist, dann soll 6 herauskommen.
also:
1 -> 0
2 -> 3
3 -> 6
4 -> 0
5 -> 3
6 -> 6
...
Das geht natürlich mit einer Fallunterscheidung ("Select Case" oder "If Then Else") aber ich suche eigentlich eine elegantere Lösung...
Kann man die Berechnung irgendwie in einem Ein-Zeiler ausdrücken?
Ich hoffe auf eure geniale Hilfe,
Bsp:

Sub dreier()
Dim i as Integer, k as Integer
For i = 1 To 12
k = (i mod 3) '...aber wie weiter?
Debug.Print "i: " & i & " | k: " & k
Next
End Sub

Grüße
Christian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: logik-Problem: Rest und Ganzzahl in VBA
19.10.2006 19:18:38
Uduuh
Hallo,
k=((i mod 3)-1)*3
Gruß aus’m Pott
Udo

AW: logik-Problem: Rest und Ganzzahl in VBA
19.10.2006 19:25:11
Christian
Hi Udo,
vielen Dank für den Vorschlag aber da kommt das raus:
i: 1 | k: 0
i: 2 | k: 3
i: 3 | k: -3
i: 4 | k: 0
i: 5 | k: 3
i: 6 | k: -3
Gruß
Christian
Uuuhps
19.10.2006 22:27:42
Uduuh
Hallo,
schnell ist nicht immer gut. Aber dir wurde ja geholfen.
Gruß aus’m Pott
Udo

AW: logik-Problem: Rest und Ganzzahl in VBA
19.10.2006 19:25:43
Nepumuk
Hallo Christian,
nach ca. 3 Sekunden angestregtem Nachdenken:
Sub dreier()
    Dim i As Integer, k As Integer
    For i = 1 To 12
        k = (i - 1) Mod 3 '...aber wie weiter?
        Debug.Print "i: " & i & " | k: " & k * 3
    Next
End Sub

Gruß
Nepumuk
Anzeige
jo, fast!
19.10.2006 19:32:44
Christian
Hi Nepumuk,
das wars...da fehlte nur noch der Faktor 3
also:

Sub dreier()
Dim i As Integer, k As Integer
For i = 1 To 12
k = 3 * ((i - 1) Mod 3)
Debug.Print "i: " & i & " | k: " & k
Next
End Sub

vielen Dank
Christian

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige