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

VBA anwenden

Forumthread: VBA anwenden

VBA anwenden
19.06.2009 11:45:53
alifa
Hallo,
habe folgendes Problem:x(1)=(2700\61)*60+2700 Mod 61
x(2)= (x(1)\61)*60+x(1) Mod 61
x(3)= (x(2)\61)*60+x(2) Mod 61 und so weiter bis x(n) kleiner 61 oder gleich.
Wie sieht das Makro aus? Komme selber leider nicht darauf, müsste ca 50 Werte "zu Fuß" berechnen.
Kann jemand helfen?
Gruß, Erhard
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA anwenden
19.06.2009 12:18:27
Wolli
Hallo Erhard,
warum VBA? Wenn du in A1 die 2700 einträgst und darunter die Formel
=(A1/61)*60+REST(A1;61)
kannst Du die Formel so weit runterkopieren, bis Dein Wunschergebnis da steht.
Ich vermute, Du willst das ganzzahlige Ergebnis von A1/61 haben, die Formel wäre dann:
=GANZZAHL((A1/61))*60+REST(A1;61)
Damit komme ich nach 264 Zeilen auf 60.
Die Rest-Funktion ist das gleiche, was der Programmierer mit MOD meint.
Klappt's?
Gruß, Wolli
Anzeige
AW: VBA anwenden
19.06.2009 20:45:36
alifa
Hallo Wolli,
klappt ausgezeichnet! Mich fasziniert halt VBA. Danke für Deine Hilfe!
Gruß, Erhard
Das stimmt so nicht ganz,...
20.06.2009 06:44:29
Luc:-?
...Wolli;
der vbOperator Mod liefert bei negativen Zahlen ein anderes (gewohnteres) Ergebnis als die xlFkt REST, auch wenn sie im US-Original ebenfalls MOD heißt.
Gruß + schöWE, Luc :-?
Anzeige
Wieso nicht? @Luc
22.06.2009 11:34:07
Wolli
Moin Luc,
bitte um Aufklärung - ich kann das nicht nachvollziehen. Siehe meine anhängende Beispielmappe:
https://www.herber.de/bbs/user/62628.xls
Gruß, Wolli
Da hast du dir selbst ein Bein gestellt,...
23.06.2009 16:41:44
Luc:-?
...Wolli,
weil du wohl ein Vorurteil hattest und so das Unbeweisbare beweisen wolltest... ;-)
Aber viell hast du das ja schon selbst bemerkt. Ansonsten hier mal eine Berichtigung deines Tests...
Userbild
Übrigens wurde über das Thema hier und anderswo schon vor Jahren ausgiebigst diskutiert, also ein ganz alter Hut aus der xlUrzeit, der andere KalkPgm zu Konvertierungsklimmzügen veranlasst...
Gruß Luc :-?
Anzeige
Oh ja.
23.06.2009 17:04:53
Wolli
Hallo Luc, danke für Deine Mühe ... Das ist jetzt aber Dein Vorurteil, mir ein Vorurteil zu unterstellen! Ich habe (wie ich es immer tue) versucht, Deine Aussage nachzuvollziehen und es ist mir nicht gelungen - wegen eines dämlichen Formelfehlers, den ich in der Tat nicht bemerkt habe :-(
Ich denke, ich habe das Problem jetzt verstanden. Ich weiß zwar nicht, was Deine Funktion dMod rechnet, aber ist auch nicht so wichtig.
Herzliche Grüße, Wolli
Anzeige
...Im Prinzip das Gleiche wie deine, bloß...
23.06.2009 19:19:33
Luc:-?
...etwas komplexer, Wolli... ;-)
Basis ist jedenfalls der vbOperator Mod.
Hier mal die Hilfe aus meinem AddIn FXsubset dazu...
dMod ( Dividend; Divisor; Ganz=Arg1&2_sind_Ganzzahl )
Ergebnis: Zahlwert
Ersetzt die im Negativ­zahlen­bereich auf Grund vom Üblichen abwei­chender Pro­gram­mie­rung
der zugrun­de­liegen­den Stan­dardfunk­tion GANZZAHL unge­wöhnliche Ergebnisse lie­fernde Stan­dardfunk­tion REST .
Funktionsargumente:
• Arg1 → Dividend
Zu teilende Zahl
• Arg2 → Divisor
Teilende Zahl
• Arg3 → Ganz
Wahr = Arg1 und Arg2 werden als ganzzahlig angesehen
 Bsp1: -2 =dMod(-5;3), dagegen xlStandard 1 =REST(-5;3)
 Bsp2: 2,1 =dMod(5;-2,9), dagegen xlStandard -0,8 =REST(5;-2,9)
 Bsp3: 0 =dMod(-5,5;3;1) wie xlStandard 0 =REST(RUNDEN(-5,5;0);3),
  aber -3 =3*ABRUNDEN(-5,5/3;0)+0 gegen -6 =3*GANZZAHL(-5,5/3)+0
 Bsp4: 0 =dMod(5,5;3;1) wie xlStandard 0 =REST(RUNDEN(5,5;0);3)
     und 3 =3*ABRUNDEN(5,5/3;0)+0 so wie 3 =3*GANZZAHL(5,5/3)+0
Hinweis: Das Ergebnis trägt das Vorzeichen des Dividenden, nicht wie bei xlFkt REST (vgl xlHilfe) das des Divisors!

Vs 1.0a -Autor: LSr -1Pub: nie -CDate: 2003/4 -LUpd: 2004
Gruß Luc :-?
PS: Das mit dem Vorurteil konnte ich mir bei dem "alten Hut" nicht verkneifen. Nichts für ungut... ;-)
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18