Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Optionsbutton nutzen
#1
Hallo zusammen,

ich bin gerade dabei, ein kleines "Innenarchitekturtool" zu basteln und ja ich weiß, es gibt sicherlich besseres...
Aber es muß wie immer bei den Vorgesetzten schnell gehen :19:

Bei der angehängten Datei habe ich das Problem, daß eine Prozedur nicht gestartet wird.
Im Moment ist es so, daß das Makro "Abzug" startet, weil ich es mit "Gewalt" dazu zwinge.
Mein Ziel ist aber, daß ich rechts bei den OptionButtons etwas auswähle und dann die entsprechende Prozedur startet.
Mein Versuch klappt so bis jetzt nicht.
Um zu testen, was passieren soll, bitte einfach mind. vier Zellen markieren und dann sollte die ausgewählte Prozedur starten.
Also im Prinzip wird das immer eine Bezeichnung und eine andere Farbe sein.
Für Eure Hilfe im voraus besten Dank und einen schönen Feiertag.

Viele Grüße
Alexander


Angehängte Dateien
.xlsm   Planspiel.xlsm (Größe: 41,85 KB / Downloads: 12)
Antworten Top
#2
Hallo,

warum Optionbutton ? nimm doch CommandButton ... damit startest du gleich die Sub.

Du markierst den Bereich und klickst den Button, den du haben willst. Einfacher geht's doch nicht.
Und wenn du geschickt mit Parameterübergaben arbeitest, brauchst du eventuell nur eine Sub, um alles anzuzeigen und zu formatieren.

Aber um da zu helfen, hab ich zu wenig Infos.
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Antworten Top
#3
Hallo Sabina,

ich dachte auch erst an den CommandButton, aber ich möchte sehr viele und verschiedene Objekte zeichnen.
Daher würde ich mir so den Extraklick auf den CommandButton sparen, das war mein Gedanke.
So könnte ich z.B. 40 Abzüge hintereinander zeichnen, dann Tische, dann Schränke usw.

Viele Grüße
Alexander
Antworten Top
#4
Hallo,

warum Extraklick ?

ANSTATT den OptionButtons einfach einen CommandButton. Du markierst die Zellen und klickst dann den betreffenden Button ... mehr nicht ... keine OptionButtons.

Statt den CommandButtons kannst du auch Shapes nehmen, denen du ein Makro zuordnest, wenn die dir besser gefallen.
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Antworten Top
#5
Hallo Sabina,

jetzt ist es so, daß ich z.B. ein Feld bestehend aus 8 Spalten und 4 Zeilen mit der Maus markiere.
Dann soll mir Excel diesen Bereich einfärben und beschriften, mit einer Variante geht es jetzt, aber eben nur mit dem "Abzug"
Ich möchte haben, daß ich bei den OptionButtons etwas auswähle, meinetwegen den "Abzug", dann wird die markierte Fläche blau.
Wähle ich aber z.B. einen Schrank bei den Optionen, dann wird die Fläche gelb.

Im Prinzip soll diese Ereignisprozedur den gewählten OptionButton auswerten und dann zur richtigen Prozedur springen:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Zeilen As Integer
Dim Spalten As Integer
Dim Breite As Double
Dim strBreite As String
Dim Höhe As Double
Dim strHöhe As String
Dim Fläche As Double
Dim strFläche As String
Zeilen = Selection.Rows.Count
Spalten = Selection.Columns.Count
Breite = 0.25 * Spalten
strBreite = Breite & " m"
Höhe = 0.25 * Zeilen
strHöhe = Höhe & " m"
Fläche = Breite * Höhe
strFläche = Fläche & " m²"
If Fläche < 0.25 Then Exit Sub
Abzug ' Hier zwinge ich ihn, die Prozedur "Abzug" aufzurufen.
If optAbzug = True Then Abzug <- Wie muß dieser Teil aussehen, damit die Ereignisprozedur den richtigen Sprung macht?
End Sub

Viele Grüße
Alexander
Antworten Top
#6
Hallo,

du bist ein klein wenig beratungsresistent ... kann das sein ?

Das wäre mal mein Vorschlag ... wird dir vermutlich nicht gefallen ... sind keine OptionButtons dabei  :16: 
... kannst ja mal sehen, was du draus machen kannst.:17:


Angehängte Dateien
.xlsm   Planspiel.xlsm (Größe: 45,98 KB / Downloads: 5)
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Antworten Top
#7
Hallo Sabina,

erst mal vielen Dank für Deine Mühe.
Das hat aber alles mit beratungsresistent nichts zu tun, auch bin ich kein OptionButton-Fetischist.

Es geht mir um folgendes:
Ich will uns den Extra-Klick einfach ersparen. Wenn man nur einen Abzug zu zeichnen hat, dann mag das so ok sein.
Aber hier liegt die Sache anders. Wir wollen erste Rohentwürfe für ein neues großes Labor machen.
Wir sind keine Innenarchitekten, sollen aber erste Vorschläge machen, das wird vier Personen im Wesentlichen betreffen.
Wenn wir über 100 Einzelposten einzeichnen möchten, ist es leider ein unnötig großer Aufwand, wenn ich jedes Mal einen Button anklicken muß,
vor allem deshalb, weil jeder von uns mehrere Entwürfe machen wird - neben der normalen alltäglichen Arbeit...
Deshalb war mein Wunsch, daß ich irgendwie einstelle, daß nur Abzüge gezeichnet werden, 40 Stück.
Dann schalte ich um auf Schränke und mache 40 Stück usw.
Ist mein Wunsch damit besser nachvollziehbar geworden?

Viele Grüße
Alexander
Antworten Top
#8
Hallo Alexander,

Ich bin auch verheiratet, wenn du verstehst was ich meine :100:

mach's mal so:

If Sh.Shapes("optAbzug").OLEFormat.Object.Object.Value = True Then Abzug
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • König Ludwig
Antworten Top
#9
Hallo Andre,

super, vielen Dank!
Genau so wollte ich es haben.

Viele Grüße
Alexander
Antworten Top
#10
Hallo Alexander,

ich hätte einen alternativen Vorschlag, bei dem Formularsteuerelement-Optionsfelder verwendet werden.
Die Beschriftung entspricht ebenfalls den Objekten = Makros.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
 Dim oOpt As OptionButton
 Dim strObjekt As String
 
 If Target.Cells.Count > 3 Then
   For Each oOpt In Sh.OptionButtons
     strObjekt = strObjekt & Left(oOpt.Caption, -(Len(oOpt.Caption) * (oOpt.Value = 1)))
   Next
   If Len(strObjekt) Then Application.Run strObjekt
 End If
End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0


Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • König Ludwig
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste