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.

If-Else-Fuktion mit ComboBox u. Optionsfeld
#1
Hallo VBA-Freunde/-Experten,

bin ein Neuling in VAB. Die Programmierung des UserForm gelingt mir nicht. :20:
Bitte um eurer schäzbare Unterstützung. Blush

Ziel ist:
         - Per Command-Butten sollen Inhalte von 2 Textfelder (Vor- u. Nachname) in bestimmten Cellen in
           Excel eingetragen werden. Und das beginned mit der 5ten Zeile.
         - Der ComboBox beinhaltet 5 Altersgruppen (<3, 3-6, 7-12, 13-18, und >18)
         - Jede Gruppe ist in weiblich und männlich untergeordnet (Strukturstufe 2)
         - Das heißt, jeder neue Eintrag (Vor-/Nachname)sucht sich das richtige Doppelfeld von 10.
         - Die gewünschte If-Else-Funktion: IF die Option weiblich=True ist, UND die gewählte Altersgrupp
           (<3) z.B., THEN trage mir den Vorname (aus Textfeld 1) in die Celle (5,1) und den Nachname (aus
           Textfeld 2) in die Celle (5, 2). und bei nächste neuen Eintrag in die Zeile 6 springen.

Mein Programm bislang ist wie folgt, was nicht hinhaut Sad

Private Sub CommandButton1_Click()
'Fügt die Eingabedatein die Tabelle und schließt das Eingabefeld'
Unload UserForm1
End Sub

Private Sub CommandButton2_Click()
'Das Abbrechen-Butten schließt das Eingabefeld'
Unload UserForm1
End Sub

Private Sub CmdDatenablegen_Click()
row_review = 5
   
    If Weiblich.Value = True And
       ComboBox1.Value = "<3" Then
       Cells(5, 1).Value = "Text_Vorname"
       Cells(5, 2).Value = "Text_Name"
    ElseIf
       Cells(5, 3).Value = "Text_Vorname"
       Cells(5, 4).Value = "Text_Name"

    End If
End Sub

Private Sub ComboBox1_DropButtonClick()
'Auswahl der Altersgruppe'
ComboBox1.List = Array("<3", "3-6", "7-12", "13-18", ">18")
End Sub

Private Sub UserForm_Initialize()
'alle Eingaben und Differenzierung nach Geschlecht und Altersgruppe'
End Sub

Private Sub Weiblich_Click()
End Sub
Antworten Top
#2
Hallo,

ohne eine Beispielmappe wird es schwer mit Hilfe.
Gruß Atilla
Antworten Top
#3
Hallo Atilla,

danke dir für die Antwort.
Kein Problem, habe die Excel hiermit angehängt.
Ich habe mir die Seite nicht genau angeschaut, wusste nicht dass man hier was anhängen kann Wink

Danke und Gruß
gi


Angehängte Dateien
.xlsm   DSV_Datenbank.xlsm (Größe: 28,02 KB / Downloads: 8)
Antworten Top
#4
Hallo,

solltest Du daran denken, die Daten irgendwann aml auswerten zu wollen, dann wirst Du mit diesem Aufbau große Schwierigkeiten haben.

Unten der Code schreibt die Einträge an die Stellen, wie von Dir gewünscht:


Code:
Private Sub CmdDatenablegen_Click()
 Dim lngZeile As Long, lngSpalte As Long
 If Len(Me.Text_Name) <> 0 And Len(Me.Text_Vorname) <> 0 And Len(Me.Text_Adresse) <> 0 Then
   If Me.Männlich.Value = True Then
     If Me.ComboBox1.ListIndex > -1 Then
       lngSpalte = ComboBox1.ListIndex * 4 + 3
       lngZ = Cells(Rows.Count, lngSpalte).End(xlUp).Row + 1
       Cells(lngZ, lngSpalte).Value = Me.Text_Name
       Cells(lngZ, lngSpalte + 1).Value = Me.Text_Vorname
     Else
        MsgBox "keine Altersgruppe ausgewählt"
     End If
   ElseIf Me.Weiblich.Value = True Then
     If Me.ComboBox1.ListIndex > -1 Then
       lngSpalte = ComboBox1.ListIndex * 4 + 1
       lngZ = Cells(Rows.Count, lngSpalte).End(xlUp).Row + 1
       Cells(lngZ, lngSpalte).Value = Me.Text_Name
       Cells(lngZ, lngSpalte + 1).Value = Me.Text_Vorname
     Else
        MsgBox "keine Altersgruppe ausgewählt"
     End If
   Else
     MsgBox "keine Geschlechtergruppe ausgewählt"
   End If
 Else
   MsgBox "Namen oder Adresse nicht nicht angegeben"
 End If
End Sub
Gruß Atilla
Antworten Top
#5
Hallo Atilla,

super, große Hilfe. Herzlichen Dank und großen Lob an dich.
Ja, ich werde den Rest bearbeiten, besonders das mit der Altersgruppe in die ComboBox :90:
Die Datenbank sollte als Hilfe für die Erfassung der neuen Vereinmitglieder und für die spätere Statisken, welche Aktivitäten wir planen je Alters/Geschlechtgruppe ..usw.

Noch mal vielen Dank :100:
Dir einen angenehmen Tag
VG
Gi.El
Antworten Top
#6
Hi,

(10.03.2017, 11:16)giel72 schrieb: für die spätere Statisken, welche Aktivitäten wir planen je Alters/Geschlechtgruppe ..usw.

für spätere Statistik ist der Aufbau, wie Atilla schon schrieb, schlecht.
So ein Aufbau ist pipieinfach auszuwerten:

Datenbank
ABCDEFGHIJKL
1Makrobutten=>Hilfsspalten
2Name VornameGeb.DatumAltersklassew/mab AlterAltersklasseErläuterung
3Name 1Vorname 111.05.20151w01< 3 Jahre
4Name 2Vorname 212.05.20151m323 - 6 Jahre
5Name 3Vorname 313.05.20132w637 - 12 Jahre
6Name 4Vorname 414.05.20132m12413 -18 Jahre
7Name 5Vorname 515.05.20103w185> 18 Jahre
8Name 6Vorname 616.05.20103m
9Name 7Vorname 717.05.20034w
10Name 8Vorname 818.05.20034m
11Name 9Vorname 919.05.19975w
12Name 10Vorname 1020.05.19975m
13
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit

Antworten Top
#7
@Rabe.

Hallo.. ich danke dir ebenfalls Smile
Ich lasse mich gern jede Zeit zum Besseren belehren. Man lernt nie aus

Viele liebe Grüße
giel
Antworten Top


Gehe zu:


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