Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
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

intelligentes Drehfeld

intelligentes Drehfeld
26.07.2019 19:40:52
Alex
Hallo,
ich hätte gern gewusst ob es eine Möglichkeit gibt die Erhöhung bzw Verringerung des Wertes der ActiveX-Buttons die man mit einer Schleife erzeugt in echtzeit anpassen kann mit verschiedenen Bedingungen.
Z.b. wenn der aktuelle Wert der Zelle unter 100.000 dann soll Smallchange =5000 sein, wenn er über 100.000 und unter 1.000.000 liegt dann soll Smallchange = 200.000 sein.
Ich weiß, daß man mit den normalen Formular-Drehfelder innerhalb der Schleife eine Funktion zuweisen kann und so wäre das realisierbar aber man müsste für jedes Drehfeld 2(Up, Down) individuelle Funktionen programmieren und das wäre nicht so toll.
Ich habe dazu vorerst nur eine Notlösung gefunden. Es soll den aktuellen Wert der gelinkten Zelle um 10% erhöhen bzw verinngern:

smallchange=0,1* Zelle.Offset(14, 7).Value

Ich hab vergeblich gehofft daß wenn man lange das Drehfeld drückt sich die Veränderung beschleunigt.;)
Gibt es noch andere Vorschläge wie man innerhalb der Schleife ein ActiveX-Spinbutton ein Funktion zuweisen kann ?

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

Betreff
Datum
Anwender
Anzeige
AW: intelligentes Drehfeld
26.07.2019 20:00:57
Daniel
Hi
du kannst den Wert für Smallchange zwar berechnen, aber auch hier schreibst du einen Festwert in die Eigenschaft, der solange unverändert bleibt, bis du einen neuen Wert einträgst.
du brauchst jetzt für jeden Spinbutton ein Change-Eventmakro, welches bei jeder Änderung den Wert überprüft den den SmallChange anpasst.
das geht bei zur Laufzeit erzeugten ActiveX-Steuerelementen nur über Klassenprogrammierung und die ist nicht ganz trivial.
oder du lässt dir eine clevere Alternative einfallen.
du könntest das ähnlich wie mit dem Reset-Button lösen:
Erstelle in einem allgemeinen Modul zwei Makros, welche den Zellwert abfragen und diesen bei Klick um den gewünschten Betrag erhöhen bzw herabsetzen. Dabei kannst du dich ja am Reset-Makro orientieren (Ermittlung der zugeordneten Zelle, Application.Caller usw.)
Erstlle anstelle eines ActiveX-SpinButtons zwei Formularfeld-Commandbuttons und weise dem einen per OnAction das Makro zum erhöhen und dem anderen das Makro zum erniedrigen des Wertes zu.
Gruß Daniel
Anzeige
AW: intelligentes Drehfeld
26.07.2019 20:26:42
Alex
Das klingt mal wieder Brillant!! Typisch Daniel ;)
AW: intelligentes Drehfeld
26.07.2019 20:39:36
Daniel
das ist ja das schöne beim Programmieren.
es gibt immer viele Wege, die nach Rom führen.
man muss halt den finden, den man gehen kann.
Gruß Daniel
AW: intelligentes Drehfeld
26.07.2019 21:16:23
Alex
Ich hätte noch ne Frage die ein ganzes anderes Thema behandelt.
Ich habe 2 Tabelle(Tabelle 1 und Tabelle "Preistliste") .
Bei der Tabelle 1 werden Kostenberechnungen durchgeführt und wenn ich eine neue Ware einfügen möchte wird über Sverweis automatisch in der nächsten Zelle der entsprechende Preis sofern es eine Übereinstimmung gibt von der Tabelle "Preisliste" abgerufen. Die Aktualisierung der Preise erfolgt über die Tabelle Preiliste. Nun würde sich der Aktualisierungsaufwand weiter veringern wenn es auch von der anderen Richtung funktionieren würde bzw von der Tabelle 1.
Also sobald ich einen Preis verändere in Tabelle 1 sollte es sich auch auf die Tabelle Preisliste auswirken.
Die Veränderung der Preise in der Tabelle 1 erfüllt 2 Zwecke. Zum einen eine Spekulationssimulation und zum anderen den aktuellen Preisverlauf.
Das Problem momentan ist. Sobald ich den Preis verändere um z.b spekulativ die Auswirkungen der Änderung in den anderen Kostengruppen zu sehen ruft er logischerweise nichts mehr ab von Tabelle Preisliste deshalb habe ich dann auch den Resetbutton(sverweis) eingebaut damit er wieder den Preis von der Tabelle Preisliste abruft.
So stellt sich die Frage ob es Sinnvoll wäre eine weitere Zentrale Tabelle(Zentrale Preisliste) oder Datenbank zu erzeugen, so würde sich jede Veränderung von Tabelle 1 in die zentrale Tabelle auswirken und somit auch in die Tabelle "Preisliste" und jede Veränderung der Preisliste würde sich auch auf die direkten Kostenberechnung der Tabelle 1 über die Zentralle Tabelle auswirken.
Wie würdest du vorgehen ?
Anzeige
AW: intelligentes Drehfeld
26.07.2019 21:26:58
Daniel
Hi
naja neues Thema, neuer Beitrag.
dann können sich auch mehr beteiligen.
Prinzipell dazu:
in Excel ist der Datenfluss immer eine Einbahnstraße.
wenn du die Preise regulär ändern willst, musst du das immer in der Preisliste tun.
die Option zum spekulativen variieren der Preise kannst du am einfachsten so machen, in dem du für den Preis drei Zellen vorsiehst:
Preis 1: der mit SVerweis ausgelesene reguläre Preis aus der Preistabelle
Preis 2: ein freies Eingabefeld, hier gibt du deinen Spekulationspreis ein
Preis 3: =Wenn(Preis2 = ""; Preis1;Preis2)
mit Preis3 rechnest du dann.
Reset dann einfach über Löschen von Preis2
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige