Makro beim Wechsel der aktiven Zelle ausfⁿhren

Eine fⁿr Excel 5.0 geschriebene Funktion zeigte mir wunschgemΣ▀ den Inhalt einer weiter unten befindlichen Zelle im Feld ╗A1½ an, wenn ich mit dem Cursor die Spalte wechselte. Die ▄bersetzung in Excel 2000 funktioniert zwar prinzipiell, jedoch stets nur einmal beim ╓ffnen der Excel-Tabelle. Wie erreiche ich auch unter Excel 2000 die gewⁿnschte Aktualisierung der Daten im Feld ╗A1½ beim Wechsel der Cursorposition innerhalb der Tabelle?

Excel 2000 fⁿhrt genau wie Excel 97 keine Neuberechnung Ihrer selbst geschriebenen Funktion durch, wenn Sie mit dem Cursor die Spalte im Tabellenblatt wechseln. Sie mⁿssen Excel dazu zwingen, beim Wechsel der aktiven Zelle ein Makro auszufⁿhren, das die gewⁿnschten Zellinhalte neu berechnet und bereitstellt.
Zu diesem Zweck richten Sie eine Ereignis-Prozedur ein, die auf das Ereignis ╗Selectionchange½ im Arbeitsblatt reagiert. Fⁿhren Sie ╗Extras | Makro | Visual Basic-Editor½ aus. Falls das Fenster ╗Projekt | VBAProjekt½ nicht sichtbar ist, holen Sie es ⁿber ╗Ansicht | Projekt-Explorer½ auf den Schirm. Dort ÷ffnen Sie mit einem Doppelklick auf Ihre Tabelle das Fenster mit dem Programmcode und fⁿgen Zeilen ein:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
DivAnzeig
End Sub


Beenden Sie mit ╗Datei | Schlie▀en und zurⁿck zu Microsoft Excel½. Nun ruft Excel bei jedem Wechsel der aktiven Zelle das Makro ╗DivAnzeig½ auf. Jetzt sollten Sie noch aus Ihrer Funktion ╗DivAnzeig½ eine Prozedur machen, die die Daten direkt in das Feld A1 schreibt. Fⁿhren Sie ╗Extras | Makro | Makros½ aus und wΣhlen Sie als ╗Makroname½ die Funktion. Klicken Sie auf die SchaltflΣche ╗Bearbeiten½. Ersetzen Sie im jetzt ge÷ffneten Fenster des VBA-Editors das Makro ╗DivAnzeig½ durch folgende Zeilen:

Sub DivAnzeig()
 Worksheets(1).Activate
 Y=ActiveCell.Column
 Cells(1,1).Value=Cells(Y+9,7).Value
End Sub


Beenden Sie den VBA-Editor wieder. Jetzt fⁿhrt Excel bei jeder ─nderung der aktiven Zelle in ╗Tabelle1½ oben stehendes Makro aus.