Private Sub UserForm_Initialize()
ComboBox4.List = Array("Hand", "0,8", "1,2")
ComboBox1.List = Tabelle3.Columns(1).SpecialCells(2).Value
ComboBox2.List = Tabelle3.Columns(2).SpecialCells(2).Value
ComboBox3.List = Tabelle3.Columns(3).SpecialCells(2).Value
End Sub
Private Sub CommandButton1_Click()
Tabelle1.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 15) = Array(TextBox1, texbox2, TextBox3, ComboBox3, TextBox4, TextBox5, Format(OptionButton1, "Yes/no"), ComboBox2, ComboBox1, ComboBox4, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10)
End Sub
Private Sub CommandButton5_Click()
For Each ct In Controls
Select Case LCase(TypeName(ct))
Case "textbox", "combobox"
ct = ""
Case "optionbutton"
ct.Value = False
End Select
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
Erstmal danke an Rabe, ich habe nie programmieren gelernt. Ich bin eher durch Zufall auf VBA gestoßen und habe mich dafür einfach interessiert. Dadurch bin ich die ganze Sache wahrscheinlich nicht mit der richtigen Reihenfolge angegangen ;) aber mal schauen was daraus wird.
Und snb du meinst jetzt aber nicht, dass das meine komplette UserForm ersetzt, sondern nur einzelne Teile, oder?
Das passt bei mir dann aber nicht. Einmal wird das Format (und auch die Formeln) nicht kopiert und in die nächste Zeile eingefügt. Und zweitens wird meine zweite Page mit den Stückzahlen nicht in die Tabelle übertragen.
06.11.2015, 11:14 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2015, 11:24 von Rabe.)
Hi Jan,
(06.11.2015, 09:44)Jan-Lan95 schrieb: Das passt bei mir dann aber nicht. Einmal wird das Format (und auch die Formeln) nicht kopiert und in die nächste Zeile eingefügt. Und zweitens wird meine zweite Page mit den Stückzahlen nicht in die Tabelle übertragen.
Ich habe es noch nicht ausprobiert, aber mit diesem Code müßte es eigentlich die Daten eintragen:
Code:
Private Sub CommandButton1_Click()
Tabelle1.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 15) = Array(TextBox1, texbox2, TextBox3, ComboBox3, TextBox4, TextBox5, Format(OptionButton1, "Yes/no"), ComboBox2, ComboBox1, ComboBox4, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10)
End Sub
With Tabelle1
loZeileMax = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) 'letzte belegte Zeile in Spalte A (1)
'Jahr 2016 - 2026: eintragen der Monatsstückzahlen
For loSpalte = 17 To 148
.Cells(loZeileMax, loSpalte) = Me.Controls("TextBox" & loSpalte - 6).Value
Next loSpalte
End With
End Sub
und im Sub CommandButton5_Click() fehlt die Dimensionierung von ct und vor End Sub fehlt ein "Next ct"
Code:
Private Sub CommandButton5_Click()
Dim ct As Object
For Each ct In Controls
Select Case LCase(TypeName(ct))
Case "textbox", "combobox"
ct = ""
Case "optionbutton"
ct.Value = False
End Select
Next ct
End Sub
Jap jetzt passt es bei mir auch, Perfekt!! Jetzt habe ich noch ne etwas kürzere Variante. Danke an alle ;)
Wenn ihr noch Energie habt würde ich noch ne Frage stellen, die zu dem Thema nicht passt:
Als übertragenes Bsp. folgende Situation
In Zeile A Habe ich die Worte Hund, Katze, Maus mehrmals untereinander stehen. Die sind nicht in einer bestimmten Reihenfolge und kommen unterschiedlich oft vor.
In Zeile B sind Werte den Worten Hund, Katze, Maus zugeordnet (Diese Werte sind aber nicht immer gleich. Sprich Hund ist z.B. nicht immer die Zahl 7 sondern kann auch 4 sein etc.)
In Zeile C habe ich eine Formel die folgendes können soll:
Sie soll in Zeile A nach dem Wort "Hund" suchen und dann die dazugehörigen Werte aus Zeile B addieren.
Sowas ähnliches habe ich schon mit der Bedingten Formatierung gemacht. Ich weiß aber nicht, ob das in dem Fall auch geht.
Danke schonmal für die Hilfe und danach ist auch gut und ich schließe dieses Thema ;)
Im Anhang nochmal ganz einfach die Situation beschrieben.
for j=11 to 142
c00=c00 & "|" & Me("TextBox" & j)
next
tabelle1.cells(rows.count,1).end(xlup).offset(1).resize(,131)=split(mid(c00,2),"|")
das schreiben in eines Arbeitsblatt sollte man minimieren.
und diese Code reicht:
Code:
Private Sub CommandButton5_Click()
For Each ct In Controls
Select Case LCase(TypeName(ct))
Case "textbox", "combobox"
ct = ""
Case "optionbutton"
ct.Value = False
End Select
Next
End Sub