Hallo,
habe einen Laufzeitfehler bei dem ich nicht mehr weiter weiss.
Wenn ich in der ComboBox die 'Möglichkeit 1 „LG frei Schüler“ aufrufe, werden die Daten richtig in die Tabelle27 übertragen.
Versuche ich das mit der 'Möglichkeit 2 „LG frei Jugend“ die in die Tabelle28 sollen, werden keine Daten übertragen und es gibt den Laufzeitfehler:
Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt.
Gelb hinterlegt:
lngZeile = wksKlasse.Cells(.Rows.Count, 3).End(xlUp).Row + 1
Alle Daten müssen auch in die Tabelle „Mannschaften“ übertragen werden.
Ich finde den Fehler leider nicht. Beide Tabellen 27+28 sind vom Aufbau und der Formatierung gleich.
Hier der komplette Code in dem UserForm.
Kann mir jemand weiterhelfen?
Gruß Skaletti!
Private Sub UserForm_Initialize()
ComboBox1.List = Tabelle1.Range(„D1:smiley:21“).Value
ComboBox1.ListIndex = 0
End Sub
Private Sub CommandButton1_Click() 'Daten in Tabelle"Mannschaften"
Call Bedingtes_übertragen
Dim erste_freie_Zeile As Integer
erste_freie_Zeile = Sheets(„Mannschaften“).Range(„A65536“).End(xlUp).Offset(1, 0).Row
Sheets(„Mannschaften“).Cells(erste_freie_Zeile, 2) = (TextBox1.Text)
Sheets(„Mannschaften“).Cells(erste_freie_Zeile, 3) = (TextBox3.Text)
Sheets(„Mannschaften“).Cells(erste_freie_Zeile, 4) = (TextBox5.Text)
Sheets(„Mannschaften“).Cells(erste_freie_Zeile, 5) = (TextBox7.Text)
Sheets(„Mannschaften“).Cells(erste_freie_Zeile, 6) = ComboBox1.Text
Unload Me
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Starter_holen (2)
End Sub
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Starter_holen (4)
End Sub
Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Starter_holen (6)
End Sub
Sub Starter_holen(intNr As Integer)
Dim WKS As Worksheet, i As Long
Set WKS = ThisWorkbook.Worksheets(„Anmeldung“) ’ anpassen
With UserForm2 ’ anpassen
.Controls(„TextBox“ & intNr + 1) = „“
For i = 2 To WKS.Cells(WKS.Rows.Count, 1).End(xlUp).Row
If WKS.Cells(i, 1).Text = .Controls(„TextBox“ & intNr) Then
.Controls(„TextBox“ & intNr + 1) = WKS.Cells(i, 3).Text
Exit Sub
End If
Next
MsgBox „Starter Nummer " & .Controls(„TextBox“ & intNr) & _
" wurde nicht gefunden!“, vbOKOnly + vbExclamation, „Fehler“
End With
End Sub
Sub Bedingtes_übertragen()
Dim wksKlasse As Worksheet
Select Case Me.ComboBox1.Value 'Wert der verglichen wird
Case „LG frei Schüler“ 'Möglichkeit 1
Set wksKlasse = Tabelle27
Case „LG frei Jugend“ 'Möglichkeit 2
Set wksKlasse = Tabelle28
End Select
i = 3
Dim lngZeile As Long
If Len(Me.TextBox1) * Len(Me.TextBox2) * Len(Me.TextBox3) * Len(Me.TextBox4) * Len(Me.TextBox5) * Len(Me.TextBox6) * Len(Me.TextBox7) > 0 Then
With wksKlasse
lngZeile = wksKlasse.Cells(.Rows.Count, 3).End(xlUp).Row + 1
wksKlasse.Cells(lngZeile, 3).Value = Me.TextBox1
wksKlasse.Cells(lngZeile, 4).Value = Me.TextBox2
wksKlasse.Cells(lngZeile, 5).Value = Me.TextBox3
wksKlasse.Cells(lngZeile, 7).Value = Me.TextBox4
wksKlasse.Cells(lngZeile, 8).Value = Me.TextBox5
wksKlasse.Cells(lngZeile, 10).Value = Me.TextBox6
wksKlasse.Cells(lngZeile, 11).Value = Me.TextBox7
i = i + 1
End With
Else
MsgBox „Starterdaten fehlen!“
End If
Unload Me
End Sub