Ich habe mir eine Excel Formular zum Zweck einer Abpackliste erstellt.
in einem Arbeitsblatt befindet sich die Datenbank der Artikel.
Das Andere Arbeitsblatt ist das Protokoll.
Nun habe ich mir im Protokoll eine Combobox eingerichtet die auf die Artikeldatenbank zugreift.
Hier kan ich mir einen Artikel heraussuchen, und bei Bestätigung mit Enter setzt er mir diesen Wert in die nächste freie Zelle der gewünschten Spalte. Soweit funktioniert alles gut. Nun wird dieses Protokoll irendwann zu lang und ich habe mir zusätzlich einen Button zum Ausblenden der bereits gefüllten Zellen erstellt. Funktioniert auch.
Mein Problem ist nun:
Wenn ich die bereits befüllten Zellen ausblende, springt das nächste freie Feld nicht mehr an. Hier wählt er nun immer Zele 1 der ausgebelndeten Zellen.
Meine Code ist folgender:
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Dim KLR As Long
Dim CBx As String
Application.ScreenUpdating = False
KLR = Range("B1000", Range("B1000").End(xlUp)).Row + 1
CBx = Worksheets("Protokoll").OLEObjects("ComboBox1").Object.Value
If CBx "" Then
Range("B" & KLR).Select
Range("B" & KLR) = CBx
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
End If
CBx = Empty
Application.ScreenUpdating = True
End If
End Sub
Der Code ist warscheinlich nicht ganz perfekt, da ich mit mit vba nicht auskenne. Ich habe ihn mir aus diversen Foren selbst zusammengewürfelt.Gibt es nicht die Möglichkeit das er die nächste freie sichtbare Zelle anwählt?
Vielen Dank für die Hilfe.