Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen

OptionButton10 If ... Then


Betrifft: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 10:00:48

Das eine Problem gefunden und schon ist ein neues da.

Der Code wird schon ausgelöst, aber egal ob ich OptionButton10 (Caption B)oder OptionButton11 (Caption D) wähle, es wird immer die Zelle J43 in Zelle A60 übertragen. Was ist mit der Zelle J44?

Warum ist das so? Danke für die Hilfe. LG Eisi :-)

Sub OptionButton10_Click()
    If OptionButton10.Value = True Then
      Sheets("Einzelkomponenten").Range("J43").Copy Sheets("Kalkulation_2").Range("A60")
    Else
      Sheets("Einzelkomponenten").Range("J44").Copy Sheets("Kalkulation_2").Range("A60")
    End If
End Sub

  

Betrifft: AW: OptionButton10 If ... Then von: EtoPHG
Geschrieben am: 13.06.2018 10:26:41

Hallo Eisi,

Wenn der gleiche Code für OptionButton11 in dessem Click-Ereignis steht, bekommst du genau diesen Effekt!
Warum zeigst du nur immer Ausschnitte deiner Codes?

Gruess Hansueli


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 10:44:46

Sorry, kann nicht folgen. Meinst Du diesen Code??? Die Codes stehen alle in UF.

' (ok) OptionButton 10 Klasse B oder OptionButton 11 Klasse D auswählen

If OptionButton10.Value = True Then
.Cells(12, 1) = OptionButton10.Caption
Else
.Cells(12, 1) = OptionButton11.Caption
End If


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 10:52:16

Ach ja und das steht über den Codes, trage also alle Aktivitäten ins Sheet Parameter ein:

Private Sub CommandButton2_Click()
Dim i As Byte
With Sheets("Parameter")

......


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 10:54:56

Dieser Code steht aber nicht im Bereich "Parameter", sondern in der UF ganz am Ende aller Codes.

Sub OptionButton10_Click()
    If OptionButton10.Value = True Then
      Sheets("Einzelkomponenten").Range("J43").Copy Sheets("Kalkulation_2").Range("A60")
    Else
      Sheets("Einzelkomponenten").Range("J44").Copy Sheets("Kalkulation_2").Range("A60")
    End If
End Sub



  

Betrifft: Ich verstehe nur noch Bahnhof.... ;-) von: EtoPHG
Geschrieben am: 13.06.2018 11:19:39

Hallo Eisi,

Sorry, ich hab keine Ahnung was es mit deinen Parameter auf sich hat. Du bist die einzige, welche den Aufbau und die Codes deiner Arbeitsmappe sieht.

Ich kann dir nur empfehlen, bei deinem Wissenslevel, ALLE relevanten Codes für ein Problem zu zeigen. Sonst stochern die Helfer im Nebel und müssen Annahmen treffen.
Dein Problem lässt sich anscheinend auf OptionButton10 und OptionButton11 einschränken.

Zeige also alle vorhandene Codes (wo immer die auch stehen), welche diese beiden Controls betreffen.

Gruess Hansueli


  

Betrifft: AW: Ich verstehe nur noch Bahnhof.... ;-) von: Eisi
Geschrieben am: 13.06.2018 11:26:57

Sorry für die Umstände. Ich probiere beim nächsten Problem die Mappe zu laden, aber die ist schon sehr umfangreich geworden. Mal schauen.

Herzlichen Dank für Eure Geduld und Euer Verständnis.

LG Eisi :-)


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 11:23:09

Jetzt habe ich es so gelöst, wahrscheinlich stümperhaft, aber läuft:

Sub OptionButton10_Click()
     If OptionButton10.Value = True Then
       Sheets("Einzelkomponenten").Range("J43").Copy Sheets("Kalkulation_2").Range("A60")
     End If
 End Sub

Sub OptionButton11_Click()
     If OptionButton11.Value = True Then
       Sheets("Einzelkomponenten").Range("J44").Copy Sheets("Kalkulation_2").Range("A60")
     End If
 End Sub



  

Betrifft: Nicht stümperhaft, so soll es sein! (owT) von: EtoPHG
Geschrieben am: 13.06.2018 13:16:17




  

Betrifft: AW: OptionButton10 If ... Then von: Daniel
Geschrieben am: 13.06.2018 13:43:48

Hi

für Optionbuttons wäre das die Lösung
weniger Stümperhaft wäre, wenn du die zusammengehörenden Optionbuttons durch eine LIST- oder COMOBOBOX ersetzt.
dann bräuchtest du nicht für jede Option einen eigenes Makro, sondern würdest mit einem Makro für alle Optionen auskommen, etwa so:

Sub Listbox1_Click()
With Sheets("Kalkulation_2").Range("A60")
Select Case Listbox1.ListIndex
    Case -1: 
        .ClearContents
    Case Else
        Sheets("Einzelkomponenten").Range("J43").Offset(Listbox1.ListIndex, 0).Copy .Cells
end Select
end with
End Sub




Wie aufwendendig das wird, hängt davon ab wie verteilt deine Zellen liegen

wenn J43 und J44 auch die Werte sind, die du in den Optionbuttons als Text anzeigen lässt, ginge es sogar ganz ohne Code, nämlich indem du Einzelkomponenten!J34:J44 als RowSource der Listbox festlegst und Kalkulation_2!A60 als ControlSource

Gruß Daniel


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 14:42:32

Hallo Daniel,
Hallo Jungs :-)

herzlichen Dank für die Hilfe. Ihr seid super. :-)

An der Aufgabenstellung habe ich 2 Tage mit Euch gekämpft und habe sogar ein Ergebnis. Aber ich kann es leider nicht nutzen, weil der Text mit Formatierung nur in der ersten Zelle steht. Damit ich den Text aber mit Format lesen und ausdrucken kann, müsste der Text über ca. 10 Zellen reichen. Zellen verbinden geht nicht, weil ja der Code dann nicht mehr funktioniert. Vielleicht könnte man das mit einem Textfeld lösen, aber jetzt habe ich keine Lust mehr. Den Code merke ich mir aber für andere Aufgaben.
Da ich immer noch Anfänger bin und in der Arbeit nicht noch mehr Zeit vergeuden kann, mache ich es jetzt mit der WENN-Funktion, aber dann halt ohne Formatierung. Dann habe ich halt kein perfektes Ergebnis. :-) Passt schon. :-)

Also, herzlichen Dank.

GLG Eisi :-)


  

Betrifft: AW: OptionButton10 If ... Then von: Daniel
Geschrieben am: 13.06.2018 15:10:38

Hi
Zellen verbinden ist eigentlich kein Problem, wenn man weiß dass es Verbundene Zellen gibt und wo sie liegen, kann man das in Programmierung berücksichtigen.
Gruß Daniel


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 15:46:56

Hallo Daniel,

das macht mich natürlich neugierig. :-) Aber nur, wenn es nicht zu aufwendig ist(!!)

Das sind meine Zellenbereiche:

B43:G43 Name: Klasse_B_kopieren Sheet: Einzelkomponenten
B45:G45 Name: Klasse_D_kopieren Sheet: Einzelkomponenten
Ziel:
A60:AE60 Name: textkopieren (den Zellebereich könnte ich noch auf die beiden anderen Bereich einstellen, falls besser) Sheet: Kalkulation_2


  

Betrifft: AW: OptionButton10 If ... Then von: Daniel
Geschrieben am: 13.06.2018 15:56:54

sorry, das verstehe ich nicht.
Gruß Daniel


  

Betrifft: ...das mit dem Betreff auch nicht...... von: robert
Geschrieben am: 13.06.2018 15:59:51

naja......


  

Betrifft: AW: ...und du das nicht mit den Inhalten von: Daniel
Geschrieben am: 13.06.2018 16:02:26

...


  

Betrifft: AW: OptionButton10 If ... Then von: Eisi
Geschrieben am: 13.06.2018 16:03:49

Ich glaube das Thema gehe ich später nochmal an und schaue, dass ich die Arbeitsmappe laden kann.
Trotzdem Danke Dir.

LG Eisi :-)