Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spur zum Nachfolger im Makro

Forumthread: Spur zum Nachfolger im Makro

Spur zum Nachfolger im Makro
Russi
Einen sonnigen guten Morgen!
Ich beiße mir grade an einem Makro die Zähne aus. Ich will auf die Funktionen "Spur zum Vorgänger" und "Spur zum Nachfolger" zugreifen.
Wird in einem Tabellenblatt eine andere Zelle markiert, wird die Spur gelöscht und die aktuelle Spur zum Vorgänger/Nachfolger angezeigt. Das Ganze sieht dann so aus und funktioniert auch wunderbar:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
activesheet.ClearArrows
Selection.ShowPrecedents
End Sub

Will ich jetzt aber eine Spur zum NACHFOLGER haben, müsste der Befehl lt. Makrorecorder "Selection.ShowDependents" lauten. Dieser Befehl führt jedoch zu einer Fehlermeldung ("Laufzeitfehler 1004: Die ShowDependents-Methode des Range-Objektes ist fehlerhaft.")
Kann mir jemand von Euch sagen, was ich falsch mache? Warum funktioniert ShowPrecedents, ShowDependents aber nicht?!?
Viele Grüße
Russi
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spur zum Nachfolger im Makro
Ulf
Aus der Hilfe:
ShowPrecedents-Methode
Siehe auch Betrifft Beispiele Zusatzinfo
Zeichnet Spurpfeile zu den direkten Vorgängerzellen des Bereichs.
Ausdruck.ShowPrecedents(Remove)
Ausdruck Erforderlich. Ein Ausdruck, der ein Range-Objekt zurückgibt. Dies muss eine einzelne Zelle sein.
Remove Optionaler Variant-Wert. True, wenn eine Ebene von Spurpfeilen zu den direkten Vorgängerzellen entfernt wird. False, wenn eine weitere Ebene von Spurpfeilen angezeigt wird. Der Standardwert ist False.
Beispiel
In diesem Beispiel werden Spurpfeile zu den Vorgängern der aktiven Zelle in Sheet1 gezeichnet.
Worksheets("Sheet1").Activate
ActiveCell.ShowPrecedents
In diesem Beispiel wird der Spurpfeil für eine Ebene von Vorgängern der aktiven Zelle in Sheet1 entfernt.
Worksheets("Sheet1").Activate
ActiveCell.ShowPrecedents remove:=True
Anzeige
AW: Spur zum Nachfolger im Makro
Russi
Hallo Ulf!
Ich bemühe mich, ein guter Forumsteilnehmer zu sein und habe die Hilfe selbstverständlich gelesen. ;-)
Aber auch "ActiveCell.ShowPrecedents" funktioniert leider nicht und führt zur gleichen Fehlermeldung.
Hast Du vielleicht noch eine Idee dazu?
Russi
AW: Spur zum Nachfolger im Makro
Ulf
Option Explicit

Sub zeigs_mir()
[c6].ShowDependents
End Sub

...tuts bei mir, wenn eine Nachfolgerzelle vorhanden ist!
Ulf
Anzeige
AW: Spur zum Nachfolger im Makro
Russi
Hallo Ulf!
Habe Deinen Code einfach mal kopiert und bei mir eingefügt. C6 hat bei mir eine Nachfolgezelle. Aber es bleibt bei der Fehlermeldung.
Markiere ich C6 und benutze den Button "Spur zum Nachfolger" auf der Detektiv-Symbolleiste, funktioniert alles erstklassig.
Nur mit dem VBA-Befehl scheint er ein Problem zu haben. Unabhängig davon, ob die markierte Zelle nun eine Nachfolgezelle hat oder nicht.
Ich habe das ganze jetzt mal in eine "nackte" neue Datei gepackt:
https://www.herber.de/bbs/user/5416.xls
Siehst Du vielleicht einen Fehler darin?!?
Russi
Anzeige
AW: Spur zum Nachfolger im Makro
Ulf
Das muss an der Excelversion liegen, bei mir(E 2002/2003) klappt das
ohne zu zucken.
Ulf
AW: Spur zum Nachfolger im Makro
20.04.2004 13:37:02
Russi
Blöd...und unverständlich (Vorwurf geht gegen Excel, nicht gegen Dich!)
Dann werde ich mich wohl damit zufriedengeben müssen.
Vielen Dank für Deine Mühe!!!
Russi
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Spur zum Nachfolger im Makro


Schritt-für-Schritt-Anleitung

Um die Spur zum Nachfolger in Excel VBA zu implementieren, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne ein neues oder bestehendes Excel-Dokument.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Wähle das gewünschte Arbeitsblatt im Projektfenster aus.

  4. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
        ActiveSheet.ClearArrows
        Target.ShowPrecedents
        On Error Resume Next
        Target.ShowDependents
        On Error GoTo 0
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Teste den Code, indem Du verschiedene Zellen auswählst, die Nachfolger oder Vorgänger haben.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 1004 bei ShowDependents

    • Lösung: Stelle sicher, dass die Zelle, die Du überprüfst, tatsächlich eine Nachfolgezelle hat. Wenn nicht, bleibt der Befehl inaktiv. Du kannst auch den Code anpassen und Fehler abfangen, wie im obigen Code gezeigt.
  • Fehler: Spur zum Nachfolger ist ausgegraut

    • Lösung: Überprüfe, ob die Zelle, die Du markierst, mindestens eine Nachfolgezelle hat. Wenn keine vorhanden ist, wird die Option ausgegraut.
  • Fehler: ShowPrecedents funktioniert nicht

    • Lösung: Stelle sicher, dass Du eine aktive Zelle auswählst, die einen Vorgänger hat. Der Befehl funktioniert nur mit einzelnen Zellen.

Alternative Methoden

Wenn Du die Spur zum Nachfolger auf einem anderen Tabellenblatt anzeigen möchtest, kannst Du folgende Methode verwenden:

  1. Verwende die Formel =SPUR(Zelle), um die Nachfolgerzellen zu identifizieren.
  2. Du kannst auch VBA verwenden, um das Ergebnis in ein anderes Tabellenblatt zu übertragen:

    Sub anzeigenNachfolger()
        Worksheets("Blatt2").Range("A1").Value = ActiveCell.Address
        ActiveCell.ShowDependents
    End Sub

Praktische Beispiele

Hier sind einige Beispiele, wie Du die Spur zum Nachfolger in verschiedenen Szenarien verwenden kannst:

  • Beispiel 1: Wenn Du eine Zelle in "Tabelle1" auswählst, die auf "Tabelle2" verweist, wird die Spur zum Nachfolger auf "Tabelle2" angezeigt.

  • Beispiel 2: Du kannst auch mehrere Zellen gleichzeitig auswählen und die Nachfolger aller ausgewählten Zellen anzeigen lassen.


Tipps für Profis

  • Nutze die On Error-Anweisung, um Fehler elegant zu behandeln und das Skript nicht zum Absturz zu bringen.
  • Teste deine Makros regelmäßig in einer Testdatei, um unerwartete Fehler zu vermeiden.
  • Überlege, wie Du die Spur zum Vorgänger und die Spur zum Nachfolger kombinieren kannst, um eine umfassende Übersicht über die Abhängigkeiten Deiner Daten zu erhalten.

FAQ: Häufige Fragen

1. Warum funktioniert die Spur zum Nachfolger auf einem anderen Blatt nicht?
Die Spur zum Nachfolger funktioniert nur, wenn die Zelle, die Du markierst, auch tatsächlich eine Nachfolgezelle hat. Überprüfe die Verknüpfungen zwischen den Blättern.

2. Gibt es eine Möglichkeit, die Spur zum Vorgänger und Nachfolger gleichzeitig anzuzeigen?
Ja, Du kannst beide Befehle in einem Makro kombinieren, indem Du ShowPrecedents und ShowDependents hintereinander aufrufst.

3. Welche Excel-Version benötige ich, um diese Funktionen zu nutzen?
Die beschriebenen VBA-Funktionen sind in den meisten Excel-Versionen verfügbar, allerdings gab es Unterschiede in der Funktionalität. Es wird empfohlen, mindestens Excel 2002/2003 zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige