Hallo Aiko!
Was sind die einzelnen Schritte (bzw. das Ziel deines
Vorgehens)?
Also die Aufgabe ist folgende: Ich habe 2 Blätter in einer
Mappe auf denen genau die gleiche Tabelle ist - nur
unterschiedlich sortiert. Wenn nun in einem Blatt an der
Tabelle etwas verändert wird, soll dies automatisch auch auf
dem anderen passieren. Dazu gehört auch wenn eine komplette
Zeile hinzugefügt oder gelöscht wird (mittels neue Zellen
einfügen od. Zellen löschen -> Ganze Zeile).
Wenn ich nun eine komplette Zeile lösche, hab ich 2 Ansätze:
-
Ich gehe alle ID’s auf beiden Blättern durch bis ich eine
ID finde die NICHT auf beiden Blättern vorhanden ist.
-
Ich merke mir die ID bevor ich die Zeile lösche und lösche
dann die entsprechende Zeile auf dem anderen Blatt.
Meine Frage bezieht sich nun auf Variante 2 die ja viel
schöner und übersichtlicher ist - wie krieg ich die ID der
Zeile die ich gerade gelöscht habe?
Ich habe mir auch schon überlegt, einfach immer alle ID’s zu
merken von den Zeilen die markiert sind - aber dafür bräuchte
ich ein dynamisches Array … ich denke es gibt eine
einfachere Lösung auf die ich einfach nicht komme.
Hallo Wotan.
Kenne mich mit array nicht aus und bevorzuge (auch aus anderen unternehmensinternen Gründen) eine recht einfache Programmerart. Ich hätte drei Ansätze, wie ich dein Problem lösen würde:
Variante 1:
a) Diejenige Zelle in Spalte A markieren, dessen Zeile gelscht werden soll.
b) über activecell.offset().select den Wert der ID einlesen
c) Zeile löschen
d) Tab wechseln
e) ID suchen (do until schleife)
f) zeile löschen
Variante 2:
a) Zelle mit ID anklicken
b) ID über activecell in Variable lesen und dann weiter wie bei Variante 1 ab c)
Variante 3:
a) ID per inputbox einlesen
b) Zlle mit ID per do until schleife suchen und dann weiter wie in Variante 1 ab c)
Ich meine, dass dies recht einfach zu realisieren ist. Wenn du mehrere IDs nacheinander löschen möchtest, würde ich zu der Variante mit der inputbox tendieren, wobei ich als ersten eingeben würde, wieviel IDs eingegeben werden sollen. Da müsste ich jetzt aber selbst noch mal gucken, wie das ginge.
Andererseits kannst du natürlich auch neben die entsprechende ID eine 1 schreiben und dann sortieren lassen und dann die erste Zeile löschen - dann müsstest du allerdings beide IDs suchen und dann wäre das Makro ja auch schon wieder überflüssig *dong* Wobei du diese Methode anwenden könntest, wenn du mehrere IDs löschen möchtest, in dem du das in einer Tab machst und dann die IDs über eine Schleife einlesen lässt (diese Schleife würde ich dann über die 1en laufen lassen).
Grüße, Aiko.