So gehts nicht (Index ausserhalb des gültigen Bereichs)
Sheets(name).Delete
Aber wie denn sonst ?
Sheets(name).Delete
Aber wie denn sonst ?
'Messegebox definieren
Dim mldg, stil, titel, hilfe, ktxt, antwort, text1
Application.ScreenUpdating = False
Tabelle3.Activate
'Leere Zeile finden
i = 1
Do
i = i + 1
Loop Until Tabelle3.Cells(i, 2).Value = ""
'Zeile i ist frei !!!
i = i - 1
If i = 2 Then
MsgBox "Keine Rechnung zu löschen"
GoTo ende:
End If
lfdnr = Tabelle3.Cells(i, 1).Value
datum = Tabelle3.Cells(i, 2).Value
rechnr = Tabelle3.Cells(i, 3).Value
mldg = "Soll letzte Rechnung gelöscht werden ?" & Chr(13) & Chr(13) & "Lfd-Nr.: " & lfdnr & Chr(13) & "Datum: " & datum & Chr(13) & "Rechn. Nr.: " & rechnr
stil = vbYesNo + vbQuestion + vbDefaultButton2
titel = "Bestätigung des Löchens der Rechnung " & rechnr
antwort = MsgBox(mldg, stil, titel)
If antwort = vbYes Then
Tabelle3.Cells(i, 2).Value = ""
Tabelle3.Cells(i, 3).Value = ""
Tabelle3.Cells(i, 4).Value = ""
Tabelle3.Cells(i, 5).Value = ""
loeschname = "AR " & Str(lfdnr)
MsgBox loeschname
Worksheets(loeschname).Delete
Else
GoTo ende:
End If
Tabelle2.Activate
Tabelle2.CommandButton1.Enabled = False
ende:
Tabelle2.Select
End Sub
'Messegebox definieren
Dim mldg, stil, titel, hilfe, ktxt, antwort, text1
Application.ScreenUpdating = False
Tabelle3.Activate
'Leere Zeile finden
i = 1
Do
i = i + 1
Loop Until Tabelle3.Cells(i, 2).Value = ""
'Zeile i ist frei !!!
i = i - 1
If i = 2 Then
MsgBox "Keine Rechnung zu löschen"
GoTo ende:
End If
lfdnr = Tabelle3.Cells(i, 1).Value
datum = Tabelle3.Cells(i, 2).Value
rechnr = Tabelle3.Cells(i, 3).Value
mldg = "Soll letzte Rechnung gelöscht werden ?" & Chr(13) & Chr(13) & "Lfd-Nr.: " & lfdnr & Chr(13) & "Datum: " & datum & Chr(13) & "Rechn. Nr.: " & rechnr
stil = vbYesNo + vbQuestion + vbDefaultButton2
titel = "Bestätigung des Löchens der Rechnung " & rechnr
antwort = MsgBox(mldg, stil, titel)
If antwort = vbYes Then
Tabelle3.Cells(i, 2).Value = ""
Tabelle3.Cells(i, 3).Value = ""
Tabelle3.Cells(i, 4).Value = ""
Tabelle3.Cells(i, 5).Value = ""
loeschname = "AR " & Str(lfdnr)
MsgBox loeschname
Worksheets(loeschname).Delete
Else
GoTo ende:
End If
Tabelle2.Activate
Tabelle2.CommandButton1.Enabled = False
ende:
Tabelle2.Select
End Sub
ändere mal die eine Zeile wie folgt ab (also Str weglassen):
loeschname = "AR " & lfdnr
Außerdem solltest Du wirklich die Variablen mit Typ deklarieren...
Viel Spaß,
Andreas
ja die Funktion Str() ist in der Hinsicht schon tückisch. Hier mal ein Beispiel zur Veranschaulichung:
Viel Spaß,
Andreas
Gruß
Martin Beck