Hallo
ich bin leider totaler Anfänger was VBA angeht,
deshalb bitte ich um Eure Mithilfe.
Ich habe in einer Userform 2 Button. Einer heißt „OK Button“ der Andere
„CommandButton23“.Beide haben fast dieselbe Funktion, außer das der
„OK Button“ vorhandene Daten ändern und der „CommandButton23“ in die erste_freie_Zeile Schreiben soll. Underanderem wird in eine Spalte PLZ Zahlen eingetragen. Dadurch werden in angrenzenden Spalten, durch eine Formel, die Vorwahl und der Ort automatisch eingetragen.
Zu meinen Problem:
Das Funktioniert leider nur beim „CommandButton23“. Beim „OK Button“ wird nur die PLZ eingetragen, dadurch ensteht ein Fehlerwert in den angrenzenden Spalten, wo eigendlich die Vorwahl und der Ort automatisch eingetragen werden soll.
Ein Teil von meinem Code sieht so aus, was muß ich daran ändern damit er funktioniert?
Private Sub Aktualisieren()
'Anzeige Dialog aktualisieren
aZelle = ActiveCell.Row
TextBoxZeile.Text = TB.Cells(aZelle, 12)
ComboBox91.Text = TB.Cells(aZelle, 1)
ComboBox92.Text = TB.Cells(aZelle, 2)
ComboBox93.Text = TB.Cells(aZelle, 3)
ComboBox94.Text = TB.Cells(aZelle, 4)
ComboBox95.Text = TB.Cells(aZelle, 5)
ComboBox96.Text = TB.Cells(aZelle, 6)
ComboBox97.Text = TB.Cells(aZelle, 7)
ListBox11.Text = TB.Cells(aZelle, 8)
ComboBox98.Text = TB.Cells(aZelle, 9)
TextBox31.Text = TB.Cells(aZelle, 10)
TextBox32.Text = TB.Cells(aZelle, 11)
End Sub
Private Sub ScrollBar1_Change()
If Me.ScrollBar1.Value 1 Then
aktZeile = Me.ScrollBar1.Value
With Me
.TextBoxZeile = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 12)
Öffentliche_Variable.Ze = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 12)
.ComboBox91 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 1)
.ComboBox92 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 2)
.ComboBox93 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 3)
.ComboBox94 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 4)
.ComboBox95 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 5)
.ComboBox96 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 6)
.ComboBox97 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 7)
.ListBox11 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 8)
.ComboBox98 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 9)
.TextBox31 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 10)
.TextBox32 = _
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 11)
End With
End If
End Sub
Private Sub CommandButtonok_Click() 'übernimmt aktuelle Anzeige
'Blattschutz aufheben
ActiveSheet.Unprotect
With ActiveWorkbook.ActiveSheet
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 12) = Ze
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 1) = Me.ComboBox91
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 2) = Me.ComboBox92
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 3) = Me.ComboBox93
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 4) = Me.ComboBox94
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 7) = Me.ComboBox97
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 8) = Me.ListBox11
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 9) = Me.ComboBox98
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 10) = Me.TextBox31
ActiveWorkbook.ActiveSheet.Cells(aktZeile, 11) = Me.TextBox32
End With
'ScrollBar neu initialisieren
Dim Spaltenbereich As Range
Set Spaltenbereich = ActiveWorkbook.ActiveSheet _
.Range(„A2“).End(xlDown) '1.Spalte letzte Zelle
Me.ScrollBar1.Min = 1
Me.ScrollBar1.Max = Spaltenbereich.Row 'Nr.letzte Zeile
letzte_Zeile = Spaltenbereich.Row
'Blattschutz aktivieren
'ActiveSheet.Protect
'End With
End Sub
Private Sub CommandButton23_Click()
'Variable deklarieren
Dim erste_freie_Zeile As Integer
'Blattschutz aufheben
ActiveSheet.Unprotect
'erste freie Zeile in Blatt „ActiveWorkbook.ActiveSheet“ ermitteln
'und in Variable „erste_freie_Zeile“ schreiben
erste_freie_Zeile = ActiveWorkbook.ActiveSheet.Range(„A65536“).End(xlUp).Offset(1, 0).Row
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 1) = ComboBox91.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 2) = ComboBox92.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 3) = ComboBox93.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 4) = ComboBox94.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 7) = ComboBox97.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 8) = ListBox11.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 9) = ComboBox98.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 10) = TextBox31.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 11) = TextBox32.Text
ActiveWorkbook.ActiveSheet.Cells(erste_freie_Zeile, 12) = Ze
End Sub
Beim „CommandButton23“ funktioniert es Suber, woran könnte es liegen das es beim „OK Button“ nicht funktioniert?
Danke für eure Hilfe.