Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
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
Inhaltsverzeichnis

Code-Berechnung ausführen.

Code-Berechnung ausführen.
28.10.2012 22:05:39
Golem
Seid gegrüßt, Excel-Fachleute!
Ich habe aufgrund einer Frage in diesem Forum folgenden Code erhalten:
Private Sub Worksheet_Calculate2()
ScrollBar2.Max = IIf(Range("AK9")  "", Range("AK9"), ScrollBar2.Max = ScrollBar2.Min)
ScrollBar2.Min = IIf(Range("AI9")  "", Range("AI9"), ScrollBar2.Min = ScrollBar2.Max)
End Sub
und geringfügig angepasst.
Hiermit ist es bisher möglich gewesen, durch ändern der Werte in den Zellen AK9 und AI9, den
Min- und Maxwert des Schiebereglers automatisch anzupassen.
Das hat auch bisher einwandfrei funktioniert.
Seit kurzer Zeit werden die Min- und Maxwerte nicht mehr automatisch angepasst.
Nur wenn ich den Code markiere und Sub/UserForm ausführen betätige, erfolgt eine Anpassung der Min- und Maxwerte .
Ich vermute, dass durch Erweiterung der Anzahl der zu berechnenden Zellinhalte dieses automatische berechnen nicht mehr erfolgt.
Kann evtl. der Code angepasst werden, dass bei Veränderung der Zellinhalte AK9 und AI9 eine Anpassung der
Min- und Maxwerte erzwungen wird ( evtl. auch mit einen Butten )?
Die Werte in beiden Zellen werden nicht händisch eingegeben, sondern durch Neuberechnung.
Schöne Grüße Golem

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Calculate2 kenn ich nicht
28.10.2012 22:16:10
Matthias
Hallo
Evtl erliegst Du hier einem Irrtum
Es gibt nur ein Private Sub Worksheet_Calculate()
Gruß Matthias

AW: ScrollBar.Min ScrollBar.Max - hier das Beispiel
29.10.2012 18:24:48
Golem
Hallo Matthias,
ich habe Deine neue Lösung in meine Datei eingebaut und es hat sofort
einwandfrei funktioniert.
Ich hatte Deine letzte Lösung für zwei Schieberegler in meiner Datei verwendet.
Daher Calculate2. Für zwei Schieberegler hatte es erst problemlos funktioniert.
Ich vermute, dass erst durch Vergrößerung meiner Datei die beschriebenen Probleme
aufgetreten sind.
Für Deine Hilfe und Aufwand einen schönen Dank!
Schöne Grüße Golem.

Anzeige
AW: ScrollBar.Min ScrollBar.Max - hier das Beispiel
29.10.2012 19:27:50
Golem
Hallo Matthias,
Ich habe wieder versucht Dein Beispiel für zwei Schieberegler zu verwenden.
Option Explicit
Private Sub ScrollBar1_Change()
Range("AU13") = ScrollBar1
End Sub

Private Sub Worksheet_Calculate1()
ScrollBar1.Min = IIf(Range("AU29") > 0, Range("AU29"), ScrollBar1.Max)
ScrollBar1.Max = IIf(Range("AU28") > 0, Range("AU28"), ScrollBar1.Min)
End Sub

Private Sub ScrollBar2_Change()
Range("AN9") = ScrollBar2
End Sub

Private Sub Worksheet_Calculate2()
ScrollBar2.Min = IIf(Range("AI9") > 0, Range("AI9"), ScrollBar2.Max)
ScrollBar2.Max = IIf(Range("AK9") > 0, Range("AK9"), ScrollBar2.Min)
End Sub
Und habe festgestellt, dass dadurch die beschriebenen Probleme entstehen.
Die Ausführung des Codes für einen Schieberegler funktioniert einwandfrei.
Könnte der Code auch für zwei Schieberegler geändert werden?
Ich bekomme langsam ein schlechtes Gewissen, weil ich Dich so in Anspruch nehme.
Schöne Grüße Golem

Anzeige
Zu einem Worksheet existiert nur EIN ...
29.10.2012 19:54:33
Luc:-?
Calculate-Ereignis, Golem,
das an 3 Stellen ausgewertet wdn kann. Dein Calculate2 kann deshalb von VBA nicht als EreignisProz, sondern nur als gewöhnl Proz angesehen wdn, wird also durch das Ereignis Calculate gar nicht ausgelöst.
Am besten wäre es, wenn du eine separate Routine für die Behandlung von 2 Schiebereglern schreibst, die du dann, falls in einem normalen Modul platziert, auch gut per Aufruf testen kannst. Wenn alles klappt, bindest du sie per Aufruf-Befehl in die Calculate-Ereignisbehandlungsroutine des Blattes ein.
Gruß Luc :-?

Anzeige
AW: Zu einem Worksheet existiert nur EIN ...
30.10.2012 11:40:03
Golem
Hallo Luc :-?
Einen schönen Dank für Deine Mitteilung.
Der erhaltene Code wurde von mir mit Calculate1 und Calculate2 geändert, obwohl ich nicht die Kenntnisse darüber habe,
so wie Du es beschrieben hast.
Aber Deine Beschreibung ist jedenfalls sehr hilfreich.
Schöne Grüße Golem

Bitte sehr, gern geschehen! Gruß owT
31.10.2012 00:42:44
Luc:-?
:-?

2 x ScrollBar.Min ScrollBar.Max ...
30.10.2012 00:18:25
Matthias
Hallo Golem
hier mit 2 Steuerelementen
https://www.herber.de/bbs/user/82374.xls
Und nocheinmal:
Es gibt nur ein Calculate fürs Worksheet(siehe auch Luc)
Gruß Matthias

Anzeige
AW: 2 x ScrollBar.Min ScrollBar.Max ...
30.10.2012 12:01:08
Golem
Hallo Matthias,
diese Änderung in Deinem Code, mit Calculate1 und Calculate2, habe ich ohne Kenntnisse darüber gemacht, ob das
überhaupt funktionieren wird ( ich habe dem Luc dies auch schon mitgeteilt ).
Aber Deine neue Datei, mit der Änderung für zwei Schieberegler, entspricht genau meinen Vorstellungen und funktioniert einwandfrei.
Eine Frage habe ich noch.
Für wie viele Schieberegler kann Dein Code verwendet werden?
Schönen Dank für Deine Hilfe und auch für Deine Bemühungen!
Golem

(n) x ScrollBar.Min ScrollBar.Max ...
30.10.2012 21:27:34
Matthias
Hallo Golem
Für wie viele Schieberegler kann Dein Code verwendet werden?
die Anzahl Deiner Schieberegler ist vermutlich nur von Deinen Systemressourcen begrenzt.
Also was Dein Speicher hergibt. Probiers einfach aus!
Lies auch hier Wissenswertes bei Philipp von Wartburg
http://www.xlam.ch/xlimits/userforms.htm#Allgemeines über Limitationen von UserForms und Controls
hier nochmal mit 3 Steuerelementen:
https://www.herber.de/bbs/user/82397.xls
So, nun müsstest Du es aber schon fast selbser schaffen ;-)
Gruß Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige