![]() |
||
![]() |
Makro beim Wechsel der aktiven Zelle ausfⁿhrenEine 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. 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. |
![]() |