Hallo Holger…
Erst x Danke für deine Unterstützung! Aber leider gibt es auch hier kein LEDMeter oder ähnlich.
Lediglich eine ProgressBar1 habe ich gefunden.
Private Sub ProgressBar1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As stdole.OLE_XPOS_PIXELS, ByVal y As stdole.OLE_YPOS_PIXELS)
End Sub
Kannst du eventuell helfen diese als Füllstandsanzeige zu verwenden??
Max Füllgrad 300 bar (100%)
Min Füllgrad 0 bar (0%)
Warnung bei Unterschreitung von 60 bar (Eventuell durch wechselt der Farbe)
Aktueller Füllgrad in Tabelle1 Zelle „a17“ z.B. 230bar (soll in der ProgressBar1 angezeigt werden)
Wichtig ist das bei einer Änderung des Zellwertes auch die ProgressBar1 aktualisiert wird.
Gruß und Danke für deine Hilfe!!!
Werner
Holger schrieb am 07.10.2009 08:50:24:
Hallo Werner,
Office 2003 steht mir leider nicht zur Verfügung, so dass ich mienen Vorschlag nicht testen werde.
Du kannst eine Userform, z.B. UserForm1, mit einem LEDMeter, z.B. LEDMeter1, anlegen. Dieses findest du auf dem VBA-Bildschirm unter Extras - Zusätziche Steuerelemente (oder so ähnlich). Nach der Auswahl wird es in der Werkzeugsammlung angezeigt und kann von dort auf die UserForm gezogen werden. Die Position der UserForm kannst du mit ihren Eigenschaften Top und Left festlegen.
Unter "DieseArbeitsmappe" fügst du z.B. das Makro
sub workbook_open()
load userform1
userform1.LEDMeter1.SetLevel (cells(17,1) / 3)'oder 18, falls du den Wert auf A18 beziehst
userform1. show modeless
end sub
ein. Du kannst, je nachdem was du vorhast, auch versuchen, das Makro im Code der Tabelle als
sub worksheet_activate()
unterzubringen.
Ich gehe davon aus, dass du die Makrosicherheit passend eingestellt hast.
Das bisherige Makro belässt du am Ort.
Es kann vielleicht sinnvoll sein, auch ein wookbook_beforeclose- oder Worksheet_deactivate-Makro einzufügen, um die UserForm zu schließen. Das kannst du bestimmt selbst mit der VBA-Hilfe oder mit Beispielen in diesem Forum hinbekommen.
Gruß
Holger
werner schrieb am 06.10.2009 07:21:10:
Hallo....
leider verwenden wir nur Excel 2003 mit sp3 kannst du trotz dem weiter helfen??
Gruß
Werner
Holger schrieb am 05.10.2009 17:42:26:
Die werden mit dem Office-Paket mitgeliefert, zumindest ab Version 2007.
werner schrieb am 05.10.2009 15:58:31:
Hallo....
Danke für deine Antwort!!!
Das klingt gut... aber woher bekomme ich die ActiveX Komponenten (LEDMeter1) wo kann man die herunterladen???
Gruß
Werner
Holger schrieb am 05.10.2009 15:28:08:
Hallo Werner,
so ganz bin ich nicht aus deiner Spezifikation schlau geworden. So wie ich dich verstanden habe, empfehle ich eine LED-Anzeige.
Für das Steuerelement LEDMeter1 auf dein Tabellenblatt 1 ein. Solche zusätzlichen Steuerelemente findest du unter den ActiveX-Steuerelementen. Dann füge folgendes Makro in den Codeteil deiner Tabelle, nicht in ein Modul(!), ein. Bei jeder Änderung in A17 oder A18 wird die Anzeige verändert. Mit den Grenzwerten für die Gelb oder rote Anzeige kannst du spielen, um sie deinen tatsächlichen Bedürfnissen anzupassen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a17:a18")) Is Nothing Then
With LEDMeter1
.SetLevel (-1000)'sonst wird die Anzeige offenbar nicht zurückgesetzt
.RedZone = 60
.YellowZone = 50
.SetLevel (Target / 3)'Division durch 3 wegen der Normierung auf 300 bar
End With
End If
End Sub
Gruß
Holger
hallo Holger schrieb am 05.10.2009 10:55:02:
Hallo...
es soll nur immer ein wert angezeigt werden und dieser dann grafisch dargestellt werden
300bar ist max und angezeigter wert z.B. 160bar…
Grafik 100% grau = 0bar
Grafik 100% rot = 300bar
Grafik etwas ca. 55% rot und ca. 45% grau = 160bar
Gruß
Werner
Holger schrieb am 05.10.2009 10:46:23:
Hallo Werner,
wo stehen denn die übrigen 18 werte?
Gruß
Holger
werner schrieb am 05.10.2009 07:59:05:
Hallo....
Ich benötige eine VBA Füllstandsanzeige!
Der Füllgrad wird in bar in Tabelle1 Range("a17:a18") eingegeben und soll grafisch auf der Tabelle 1 dargestellt. (Eingabe in 20 schritten und Skalierung von 0 bis 300bar)
Wer kann helfen???
Gruß
Werner |