Thema Datum  Von Nutzer Rating
Antwort
Rot CheckBoxen aus UserForm auslesen und in verschiedene Zeilen eines Arbeitsblattes schreiben
24.11.2015 13:21:49 Abgeher
NotSolved
24.11.2015 14:54:11 Gast35848
NotSolved
03.12.2015 14:23:19 Gast51985
NotSolved
03.12.2015 16:06:55 Gast78867
NotSolved

Ansicht des Beitrags:
Von:
Abgeher
Datum:
24.11.2015 13:21:49
Views:
1334
Rating: Antwort:
  Ja
Thema:
CheckBoxen aus UserForm auslesen und in verschiedene Zeilen eines Arbeitsblattes schreiben

Hallo zusammen,

ich habe eine UserForm erstellt mit insgesamt 44 CheckBoxen. Man kann aus 22 "Varianten" wählen und jeweils []Ja oder []Nein wählen. Je nach Wahl soll dann ein anderer Text ausgegeben werden. Nun habe ich das, vermutlich sehr umständlich, mit einer If-Anweisung implementiert.

 

Je nachdem wieviele Kreuze man insgesamt gesetzt hat, soll eine dementsprechende Anzahl an Zeilen beschrieben werden. Dies tut das Programm auch bereits. Nur habe ich das Problem, dass immer der gleiche Text in die Zeilen geschrieben wird. Es ist immer der Text der ersten angewählten CheckBox die durchlaufen wird.

 

Anbei mein bisheriger Code.

 

Private Sub CommandButton1_Click()

Dim zeile As Integer
Dim CB As CheckBox
Dim cntrl As Control
Dim CheckBoxAnzahlIP As Integer
Dim i As Integer

Dim Zwischenspeicher As String


Zwischenspeicher = ""

 

 

 


'Checkoboxen zählen

For Each cntrl In Me.Controls
        If TypeName(cntrl) = "CheckBox" Then
            If cntrl Then CheckBoxAnzahlIP = CheckBoxAnzahlIP + 1
        End If
    Next

  


'Ausgabe Spalte Benennung

 

 

zeile = Cells(Rows.Count, 1).End(xlUp).Row + 1

For i = 1 To CheckBoxAnzahlIP

Cells(zeile, 2) = TextBox1.Text
Cells(zeile, 6) = TextBox2.Text
Cells(zeile, 1) = "x"
 

 


If CheckBox1.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Sandguss Normal"
ElseIf CheckBox2.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Sandguss Stegmess"
ElseIf CheckBox3.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Sandguss Vollvermessen"
ElseIf CheckBox4.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Sandguss"
ElseIf CheckBox5.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Sandguss"
ElseIf CheckBox6.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Sandguss"

ElseIf CheckBox7.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss Normal"
ElseIf CheckBox8.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss + AV-Messstellen"
ElseIf CheckBox9.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss Indiziert"
ElseIf CheckBox10.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss Indiziert+AV-Messstellen"
ElseIf CheckBox11.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss Endoskopie"
ElseIf CheckBox12.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss Vollvermessen"
ElseIf CheckBox13.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss"
ElseIf CheckBox14.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss"
ElseIf CheckBox15.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss"
ElseIf CheckBox16.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss"
ElseIf CheckBox17.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss"
ElseIf CheckBox18.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Sandguss"

ElseIf CheckBox19.Value = True Then
Zwischenspeicher = "Rohteil Kurbelwelle Sandguss Normal"
ElseIf CheckBox20.Value = True Then
Zwischenspeicher = "Rohteil Kurbelwelle Sandguss Vollvermessen"
ElseIf CheckBox21.Value = True Then
Zwischenspeicher = "Rohteil Kurbelwelle Sandguss"
ElseIf CheckBox22.Value = True Then
Zwischenspeicher = "Rohteil Kurbelwelle Sandguss"

ElseIf CheckBox23.Value = True Then
Zwischenspeicher = "Rohteil Pleuel Sandguss Normal"
ElseIf CheckBox24.Value = True Then
Zwischenspeicher = "Rohteil Pleuel Sandguss Vollvermessen"
ElseIf CheckBox25.Value = True Then
Zwischenspeicher = "Rohteil Pleuel Sandguss"
ElseIf CheckBox26.Value = True Then
Zwischenspeicher = "Rohteil Pleuel Sandguss"

ElseIf CheckBox27.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Kokille Normal"
ElseIf CheckBox28.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Kokille Stegmess"
ElseIf CheckBox29.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Kokille Vollvermessen"
ElseIf CheckBox30.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Kokille"
ElseIf CheckBox31.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Kokille"
ElseIf CheckBox32.Value = True Then
Zwischenspeicher = "Rohteil Kurbelgehäuse Kokille"

ElseIf CheckBox33.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille Normal"
ElseIf CheckBox34.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille+AV-Messstellen"
ElseIf CheckBox35.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille Indiziert"
ElseIf CheckBox36.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille Indiziert+AV-Messstellen"
ElseIf CheckBox37.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille Endoskopie"
ElseIf CheckBox38.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille Vollvermessen"
ElseIf CheckBox39.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille"
ElseIf CheckBox40.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille"
ElseIf CheckBox41.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille"
ElseIf CheckBox42.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille"
ElseIf CheckBox43.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille"
ElseIf CheckBox44.Value = True Then
Zwischenspeicher = "Rohteil Zylinderkopf Kokille"
End If
 
 Cells(zeile, 9) = Zwischenspeicher
 
 zeile = zeile + 1
 
 Zwischenspeicher = ""
 
 
 
 
 
 Next i

 

End Sub

Kann mir Jemand sagen wo hier mein Fehler liegt?

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot CheckBoxen aus UserForm auslesen und in verschiedene Zeilen eines Arbeitsblattes schreiben
24.11.2015 13:21:49 Abgeher
NotSolved
24.11.2015 14:54:11 Gast35848
NotSolved
03.12.2015 14:23:19 Gast51985
NotSolved
03.12.2015 16:06:55 Gast78867
NotSolved