worksheet_deactivate
21.10.2007 18:22:00
thomas3
ich habe eine Datei mit mehreren Tabellen erstellt.
In der Tabelle "Artikelstamm" werden fortlaufend nach unten Zeilen eingegeben. In der Tabelle "Hilfsangaben" werden aus der Tabelle "Artikelstamm" zum Weiterarbeiten bestimmte Daten ausgelesen. Dazu sollen beim Verlassen der Tabelle "Artikelstamm" diese mittels Makro herausgesucht, kopiert und in die Tabelle "Hilfsangaben" hineinkopiert werden.
Nun meine Frage :
Ich habe folgenden Code geschrieben
private worksheet_deactivate()
dim wssh as string
'feststellen, in welches Tabellenblatt man gewechselt hat
wssh = activesheet.name
sheet("Artikelstamm").activate
call aktualisieren
sheet(wssh).activate
end sub
In dem Code Aktualisieren steht nun genau drinnen, was er machen soll. Zuerst innerhalb der Tabelle "Artikelstamm" sortieren, den Bereich, in dem die Daten hinein sollen in der Tabelle "Hilfsangaben" löschen, den zu kopierenden Bereich in der Tabelle "Artikelstamm" kopieren, in die Tabelle "Hilfsangaben in definierten Bereich die Daten hineinkopieren.
Was aber passiert,ist folgendes. Da das Makro zwischen den Tabellen hin und her springt, wird jedes Mal beim Verlassen der Tabelle "Artikelstamm" das Makro Aktualisieren erneut angestossen.
Meine Frage nun : Wie kann ich vermeiden, dass sich das Makro eben nicht in einer unendlichen Schleife verwickelt, sondern einfach nur beim Verlassen die Daten aktualisiert und dann in die Tabelle wechselt, die man eigentlich angesteuert hat ?
Hoffe, ich habe mich verständlich ausgedrückt.
Wünsche einen schönen Sonntag.
Liebe Grüße
Thomas