Registriert seit: 18.06.2019
Version(en): 2013
Ich habe es noch mal getestet und klappt alles so, wie es mir vorgestellt habe.
Ich habe jetzt ein bischen gebastest so das das VBA ausgeführt wird, wenn das Arbeitsblatt "Datenbank" geöffnet wird. Und einen >Ende< Button eingefügt, womit das Arbeitsblatt dann auch gleich gespeichert wird und wieder auf das Arbeitsblatt "Trainingsplan" gewechselt wird.
Gruß Sveni_Lee
Registriert seit: 29.09.2015
Version(en): 2030,5
20.06.2019, 10:48
(Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2019, 11:11 von snb.)
Das geht auch in VBA. Diese Code reicht für Userform_Initialize Code: Private Sub UserForm_Initialize() ListBox_Muskelgruppe.Column = Tabelle9.Rows(1).SpecialCells(2).Value ComboBox_KW.List = [index(row(1:53),)] ListBox_Wochentag.List = Application.GetCustomListContents(2) ListBox_Training.List = Split("Muskelaufbau Cardio") ComboBox_Jahr.List = [index(row(2019:2025),)] ListBox_Uebung.List = Tabelle9.Cells(1).CurrentRegion.Offset(1).Value End Sub
Und diese in Listbox Muskelgruppe Change: Code: Private Sub ListBox_Muskelgruppe_Change() ListBox_Uebung.ColumnCount = ListBox_Muskelgruppe.ListCount
ReDim st(ListBox_Muskelgruppe.ListCount) st(ListBox_Muskelgruppe.ListIndex) = 12 ListBox_Uebung.ColumnWidths =Join(st, "0;") End Sub
Die Spinbutton Eigenschaften ( Min) sollte man im Design Mode einstellen.
Registriert seit: 29.09.2015
Version(en): 2030,5
Die komplette Code im Userform: Code: Private Sub UserForm_Initialize() ListBox_Muskelgruppe.Column = Tabelle9.Rows(1).SpecialCells(2).Value ComboBox_KW.List = [index(row(1:53),)] ListBox_Wochentag.List = Application.GetCustomListContents(2) ListBox_Training.List = Split("Muskelaufbau Cardio") ComboBox_Jahr.List = [index(row(2019:2025),)] ListBox_Uebung.List = Tabelle9.Cells(1).CurrentRegion.Offset(1).Value End Sub
Code: Private Sub ListBox_Muskelgruppe_Change() ListBox_Uebung.ColumnCount = ListBox_Muskelgruppe.ListCount ReDim st(ListBox_Muskelgruppe.ListCount) st(ListBox_Muskelgruppe.ListIndex) = 12 c00 = Join(st, "0;") ListBox_Uebung.ColumnWidths = c00 End Sub
Code: Private Sub SpinButton_Gewicht_Change() TextBox_Gewicht.Text = SpinButton_Gewicht.Value End Sub
Code: Private Sub SpinButton_Wdhlg_Change() TextBox_Wdhlg.Text = SpinButton_Wdhlg.Value End Sub
Code: Private Sub SpinButton_Zeit_Change() TextBox_Zeit.Text = SpinButton_Zeit.Value End Sub
Code: Private Sub Button_Eingabe_Click() sn = Array(ComboBox_KW, ListBox_Wochentag, , ListBox_Training, ListBox_Muskelgruppe, ListBox_Uebung, , TextBox_Gewicht, TextBox_Wdhlg, , TextBox_Strecke, TextBox_Zeit, ComboBox_Jahr) sn(2) = DateSerial(sn(12), 1, 4) - Weekday(DateSerial(sn(12), 1, 4), 2) + ListBox_Wochentag.ListIndex + 1 + 7 * sn(0) sn(6) = "Satz " & Application.Match(True, Array(OptionButton_Satz1, OptionButton_Satz2, OptionButton_Satz3, OptionButton_Satz4), 0) sn(9) = "Intervall " & Application.Match(True, Array(OptionButton_Interv1, OptionButton_Interv2, OptionButton_Interv3, OptionButton_Interv4, OptionButton_Interv5, OptionButton_Interv6), 0) Tabelle8.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 13) = sn End Sub
Registriert seit: 18.06.2019
Version(en): 2013
danke... ich hab es grad mal probiert dabei bekomme ich eine Fehlermeldung "Typ unverträglich" Code: Private Sub Button_Eingabe_Click() sn = Array(ComboBox_KW, ListBox_Wochentag, , ListBox_Training, ListBox_Muskelgruppe, ListBox_Uebung, , TextBox_Gewicht, TextBox_Wdhlg, , TextBox_Strecke, TextBox_Zeit, ComboBox_Jahr) sn(2) = DateSerial(sn(12), 1, 4) - Weekday(DateSerial(sn(12), 1, 4), 2) + ListBox_Wochentag.ListIndex + 1 + 7 * sn(0) sn(6) = "Satz " & Application.Match(True, Array(OptionButton_Satz1, OptionButton_Satz2, OptionButton_Satz3, OptionButton_Satz4), 0) sn(9) = "Intervall " & Application.Match(True, Array(OptionButton_Interv1, OptionButton_Interv2, OptionButton_Interv3, OptionButton_Interv4, OptionButton_Interv5, OptionButton_Interv6), 0) Tabelle8.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 13) = sn End Sub
und zwar in dieser Zeile: Code: sn(9) = "Intervall " & Application.Match(True, Array(OptionButton_Interv1, OptionButton_Interv2, OptionButton_Interv3, OptionButton_Interv4, OptionButton_Interv5, OptionButton_Interv6), 0)
Registriert seit: 29.09.2015
Version(en): 2030,5
Du hast vergessen einer der Optionbuttons zu wählen.
Registriert seit: 18.06.2019
Version(en): 2013
hmm...
Aber wenn ich die OptionButton_Satz1 - 4 wähle, sind die OptionButton_Interv1 - 6 obsolet da diese ja nur für das Lauftrainung und nicht für den Muskelaufbau sind.
Registriert seit: 29.09.2015
Version(en): 2030,5
Dann solltest du diese Bedingung im Code einbauen.
Registriert seit: 18.06.2019
Version(en): 2013
da fehlt mir der Ansatz wie ich dort eine Bedingung einbauen kann.
Cardio -> Interv1 - 6 Muskelaufbau -> Satz1 - 4
|