UserForm Kontrolle

Betrifft: UserForm Kontrolle
von: xtian
Geschrieben am: 09.10.2020 15:05:31
Hallo zusammen,
ich bin VBA Neuling und würde die Frage stellen, ob folgender Code so geschrieben werden kann. Ab
und zu kommt ein Laufzeitfehler. Ich kann aber leider nicht sagen wann.
Private Sub CommandButton1_Click()
lngRow = ListBox1.ListIndex + 1
If ListBox1.ListIndex = -1 Then
MsgBox "Keinen Eintrag aus ListBox ausgewählt"
Else
Sheets(1).Range(Cells(lngRow, 1), Cells(lngRow, 3)).Copy
Sheets(1).Range(Cells(lngRow, 1), Cells(lngRow, 3)).Insert Shift:=xlDown
Application.CutCopyMode = False
End If
Unload UserForm1
UserForm1.Show
End Sub
Die Daten (Spalte A bis C) werden in die ListBox eingelesen. Ein Datensatz wird in der ListBox markiert
und sobald der CMB1 gedrückt wird, soll der Datensatz eine Zeile tiefer in der Excel Tabelle und in der
ListBox kopiert werden. Wird kein Datensatz ausgewählt, kommt eine Fehlermeldung.
Gruß
Christian

Betrifft: AW: UserForm Kontrolle
von: Nepumuk
Geschrieben am: 09.10.2020 15:56:16
Hallo Christian,
teste mal:
Private Sub CommandButton1_Click()
Dim lngRow As Long
If ListBox1.ListIndex = -1 Then
MsgBox "Keinen Eintrag aus ListBox ausgewählt"
Else
lngRow = ListBox1.ListIndex + 1
With Worksheets(1)
.Range(.Cells(lngRow, 1), .Cells(lngRow, 3)).Copy
.Cells(lngRow, 1).Insert Shift:=xlShiftDown
End With
Application.CutCopyMode = False
End If
Unload Me
Me.Show
End Sub
Der Fehler tritt dann auf, wenn die aktive Tabelle nicht die Tabelle(1) ist.
Gruß
Nepumuk

Betrifft: AW: UserForm Kontrolle
von: xtian
Geschrieben am: 10.10.2020 00:35:59
Hallo Nepumuk,
super, vielen Dank.
Gruß
christian