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
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen