wenn ich mit einer schaltfläche ein datensatz löschen möchte kommt folgender Laufzeitfehler:
"die delete-Methode des range-objektes ist fehlerhaft"
folgende anweisung habe ich geschrieben:
Option Explicit
'*** Datensatz in TextBoxes einlesen ***
Private Sub cbbDaten_Change()
'Variablendeklaration
Dim intRow As Integer
'Quellzeile festlegen
intRow = cbbDaten.ListIndex + 1
'Artikelname eintragen
txtSpalte1.Text = Cells(intRow, 1)
'Einheit eintragen
txtSpalte2.Text = Cells(intRow, 2)
'Einzelpreis eintragen
txtSpalte3.Text = Cells(intRow, 3)
End Sub
'*** Datensatz Editieren ***
Private Sub CommandButton1_Click()
'Variablendeklaration
Dim intRow As Integer
'Wenn keine Auswahl getroffen wurde, dann
If cbbDaten.ListIndex = -1 Then
'Eintragzeile ist die erste freie Zeile
intRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Else
'Eintragzeile gemäß ComboBox-Auswahl
intRow = cbbDaten.ListIndex + 1
End If
'Artikelname eintragen
Cells(intRow, 1) = txtSpalte1.Text
'Einheit eintragen
Cells(intRow, 2) = txtSpalte2.Text
'Einzelpreis eintragen
Cells(intRow, 3) = txtSpalte3.Text
'ComboBox-Werte neu einlesen
Call UserForm_Initialize
End Sub
'*** Formular Schließen ***
Private Sub CommandButton2_Click()
Unload Me
End Sub
'*** Datensatz löschen ***
Private Sub CommandButton3_Click()
'Ausgewählten Datensatz löschen
Rows(cbbDaten.ListIndex + 1).Delete
'Daten neu einlesen und in TextBoxes eintragen
cbbDaten.List = ActiveSheet.UsedRange
'Ersten Datensatz auswählen
cbbDaten.ListIndex = 0
End Sub
'*** UserForm initialisieren ***
Private Sub UserForm_Initialize()
'Datensätze in ComboBox einlesen
cbbDaten.List = ActiveSheet.UsedRange
End Sub
'********** ENDE **********
ich habe ein zweites tabellenblatt in der arbeitsmappe da funktioniert es.
hat einer eine idee was verkehrt sein kann?
für holfe wäre ich dankbar.
gruß
martin