ich hab da ein bescheidenes Problem. Ich habe schon, meiner Meinung nach, alles mögliche probiert. Komme aber zu keiner Lösung.
Aber kommen wir gleich zum Punkt. Folgendes Szenario:
Ich habe eine Mitarbeiterliste... Aufgeteilt in eine Gesamtliste und ein paar Abteilungslisten. Trägt man in die Gesamtliste einen MA ein, wird er automatisch mit in die Abteilung eingetragen und andersrum genauso. Nun möchte ich die Funktion "MA löschen" einfügen, dies soll genauso funktionieren. Lösche ich den MA aus der Abteilung wird er ebenso aus der Gesamtliste gelöscht. Wird er aus der Gesamtliste gelöscht wird er aus der Abteilung gelöscht.
Bleiben wir bei Gesamtliste "ws01_gesamt" und Abteilung1 "ws02_Abteilung1". In beiden Worksheets sind zwei ListObject-Tabellen, "Tabelle01" und "Tabelle02".
Jeder MA besitzt eine lfd-Nr (1, 2, 3, usw), die ist in beiden Abteilungen gleich und liegt in der Spalte 1 der Tabellen.
Nun ist meine Idee: MA anklicken, Button "MA löschen" drücken, aus der Zeile wird Spalte 1 ausgelesen, in der zweiten Tabelle wird in der Spalte 1 die entsprechende lfd-Nr gesucht und die gesamte Zeile gelöscht, ebenso wird die ausgewählte Zeile in der ersten Tabelle gelöscht.
Mein letzter Versuch war folgender Code:
Sub MA_Loeschen()
Dim Wert As String
Dim listobj1 As ListObject
Dim listObj2 As ListObject
Dim gefunden As Range
Set listobj1 = ws11_Gesamt.ListObjects(1)
Set listObj2 = ws02_Abteilung1.ListObjects(1)
Wert = listobj1.DataBodyRange(ActiveCell.Row, 1).Value
Set gefunden = listObj2.ListColumns(1).DataBodyRange.Find(Wert)
If Not gefunden Is Nothing Then
gefunden.EntireRow.Delete
End If
End Sub
Leider funktioniert dies nicht...
Ich bin noch recht anfänglich in der VBA Geschichte drin und hoffe ihr könnt mir helfen meinen Fehler zu finden oder mir eine komplett neue Herangehensweise zu erläutern.
Vielen Dank im voraus
MfG TomTom