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

Forumthread: VBA Loop Counter Schrittgröße ändern

VBA Loop Counter Schrittgröße ändern
19.03.2019 14:38:57
Johannes
Hallo zusammen,
nutze ich den For Loop mit einem Counter. Folgende Frage: Wie kann ich die Schrittgröße des Counters von 1 auf 0.001 verkleinern?
Sub Optimisation()
Dim Counter_Factor_Amz As Integer
Dim Counter_Factor_Mwst As Integer
Range("Factor_amz").Value = Range("Min_Amz")
Range("Factor_Mwst").Value = Range("Min_Mwst")
Range("Mindestpreis").Value = 0
For Counter_Factor_Amz = Range("Min_Amz").Value To Range("Max_Amz").Value Step 0.1
Range("Factor_amz").Value = Counter_Factor_Amz
For Counter_Factor_Mwst = Range("Min_Mwst").Value To Range("Max_Mwst").Value Step 0.1
Range("Factor_Mwst").Value = Counter_Factor_Mwst
If Range("Mindestpreis").Value = Range("Sellerlogic_Mindestpreis").Value Then
Range("Sellerlogic_Amz").Value = Counter_Factor_Amz
Range("Sellerlogic_Mwst").Value = Counter_Factor_Mwst
Range("Mindestpreis") = Range("Sellerlogic_Mindestpreis").Value
End If
Counter_Factor_Mwst = Counter_Factor_Mwst + 0.01
Next Counter_Factor_Mwst
Next Counter_Factor_Amz
Freue mich auf Eure Antworten!
Vielen Dank, J
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Loop Counter Schrittgröße ändern
19.03.2019 14:46:51
Luisa
Hallo,
Du hast Die Variable als Integer definiert. Das ist eine ganze Zahl (keine Nachkommastellen. De Counter kann also deine Werte nicht annehmen. Probier mal Double.
LG Luisa
AW: VBA Loop Counter Schrittgröße ändern
19.03.2019 14:48:05
Johannes
Liebe Luisa,
vielen lieben Dank. Da schlage ich mir einfach nur die Hände über dem Kopf zusammen!
Lg, J
Anzeige
AW: VBA Loop Counter Schrittgröße ändern
19.03.2019 14:49:46
Maris
Du musst den Counter als Double definieren und nicht Integer. Dann sollte es klappen ;-)
AW: VBA Loop Counter Schrittgröße ändern
19.03.2019 15:47:48
J
Wie kann ich den Teil performanter machen, sodass es nicht Ewigkeiten dauert (ohne die Anzahl der Nachkommastellen zu reduzieren)?
Sub Optimisation()
Dim Counter_Factor_Amz As Double
Dim Counter_Factor_Mwst As Double
Range("Factor_amz").Value = Range("Min_Amz")
Range("Factor_Mwst").Value = Range("Min_Mwst")
Range("Mindestpreis").Value = 0
Application.ScreenUpdating = False
For Counter_Factor_Amz = Range("Min_Amz").Value To Range("Max_Amz").Value Step 0.0001
Range("Factor_amz").Value = Counter_Factor_Amz
For Counter_Factor_Mwst = Range("Min_Mwst").Value To Range("Max_Mwst").Value Step 0. _
0001
Range("Factor_Mwst").Value = Counter_Factor_Mwst
If Range("Mindestpreis").Value = Range("Sellerlogic_Mindestpreis").Value Then
Range("Sellerlogic_Amz").Value = Counter_Factor_Amz
Range("Sellerlogic_Mwst").Value = Counter_Factor_Mwst
Range("Mindestpreis") = Range("Sellerlogic_Mindestpreis").Value
End If
Next Counter_Factor_Mwst
Next Counter_Factor_Amz
Application.ScreenUpdating = True
End Sub
Würde es helfen, eine Range anzugeben (und auch Ungenauigkeit hinzunehmen)?
 If Range("Mindestpreis").Value = Range("Sellerlogic_Mindestpreis").Value
Sodass der Mindestpreis kein einziger Wert ist, sonder eine Range von z.B. 199.90 bis 200.10.
Freue mich auf Hilfe, J
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

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