26.08.2018, 10:51 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2018, 10:52 von schauan.)
Hallöchen,
die gepostete Fehlermeldung ist aber ok?
Zitat:Die Delete-Methode des Rangeobjekts konnte nicht ausgeführt werden
Die deutet m.E. darauf hin, dass das Rangeobjekt zwar vorhanden ist, aber nicht darauf zugegriffen werden kann. Wenn nichts gefunden wird, kommt 'ne andere Meldung.
Klappt es denn mit Uwe's Code? Ich nehme an, mit dem zweiten @ meinst Du Uwe und nicht mich und es klappt nicht?
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
hopla, genau ich meinte Uwe. Wenn ich mit F8 den Code nacheinander durchgehe, hängt es auch bei seinem Code einzig an dem Löschen des Urlaubswunsches und er spuckt mir den Delete-Methode ... - Fehler aus.
Ich bin wirklich am verzweifeln. Bislang habe ich alles, was ich geplant habe, irgendwie nach einer Zeit hinbekommen - an dem Problem hänge ich aber nun schon so lange :( .... Ich habe jetzt eine Testdatei angehängt, in der alle sensiblen Daten gelöscht sein dürften. Auch schön ist es (noch) nicht. Vielleicht hilft es, einen Blick in die Datei zu werfen?
26.08.2018, 11:07 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2018, 11:07 von EasY.)
Zitat:Geschrieben von schauan - 26.08.2018, 10:55 Hallöchen,
ich nochmal. Es könnte auch sein, Du hast da eine Tabelle definiert und in der Zeile ist die Überschrift. Dann kommt auch so eine Meldung.
Deswegen habe ich den Befehl des Löschens auch erst ab A2 bis last gesetzt. Oder reicht das so nicht? :/
P.S.: Bitte verteufelt mich nicht bzw lacht mich nicht aus - das ist mein erstes VBA-Projekt und die Codes sind sicher alles andere als aufgeräumt und strukturiert ... ABER: Sie funktionieren, bis auf die eine Ausnahme.
26.08.2018, 11:18 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2018, 11:18 von Frogger1986.)
Die Variable Finden und Finden2 ="" desswegen der Fehler
das musst du abfangen mit " if finden is nothing or finden2 is nothing then exit sub"
des weiteren kannst du Zeilen, die nicht zusammenhängen, nicht auf einmal löschen! Das muss mit einer Schleife passieren!
wie in meinem Beitrag #8
Code:
Sub Wunschloeschen3()
Dim finden As Range Dim finden2 As Range Dim Frage As Integer Dim last As Long Dim i As Integer last = ThisWorkbook.Sheets("Urlaubswuensche").Cells(Rows.Count, 1).End(xlUp).Row Set finden = ThisWorkbook.Sheets("Mitarbeiter").Range("A2:A50").Find(what:="Hans", lookat:=xlWhole) Set finden2 = ThisWorkbook.Sheets("Urlaubswuensche").Range("A1:A" & last).Find(what:="Hans", lookat:=xlWhole) Frage = MsgBox("Der folgende Mitarbeiter und alle seine Urlaubsw?nsche werden unwiderruflich gel?scht: " + Chr(13) + Chr(13), vbOKCancel + vbExclamation, "Mitarbeiter l?schen?")
If finden Is Nothing And finden2 Is Nothing Then Exit Sub
Select Case Frage Case vbOK And finden2 Is Nothing
For i = last To 2 Step -1 If ThisWorkbook.Sheets("Urlaubswuensche").Rows(i).Hidden = False Then ThisWorkbook.Sheets("Urlaubswuensche").Rows(i).Delete End If Next
ThisWorkbook.Sheets("Urlaubswuensche").Range("A1").AutoFilter Unload UserForm_Mitarbeiter_entfernen End Select
End Sub
so klappts!
Folgende(r) 1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag:1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag 28 • EasY
26.08.2018, 11:19 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2018, 11:21 von EasY.)
@schauan
In meiner Variante mit der select case-variante (dürfte auch noch in dem Code der Datei vorhanden aber ausgeklammert sein) habe ich die Abfrage mit "finden2 is nothing" drin. Die Verzweigung läuft er auch richtig ab. P.S.: Ich sehe gerade, du hast in den Modulen geschaut. Ich habe das Testmodul zum Testen angelegt, der richtige Code wird später dann in die Userform_Mitarbeiter_Loeschen eingebettet. Da steht der Code dann auch drin :)
Ah nein das gibt es ja nicht ... also nicht zusammenhängende kann man nicht löschen? SO einfach ist die Lösung? Danke :)
es funktioniert? WOW ... und ich dachte immer, dass genau dafür die Specialcells sind :). Ich teste dann weiter - für mich ist das erst einmal erledigt und ich bedanke mich bei euch allen mit einem riesen Der-Sonntag-ist-gerettet-Lächeln im Gesicht