Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formelbezug ueberpruefen

Forumthread: Formelbezug ueberpruefen

Formelbezug ueberpruefen
24.12.2003 14:08:46
Alexej
Frohe Weihnachten allerseits!

Ich habe eine kleine Frage. Wie ist es moeglich zu sagen.
Ueberpruefe die Zellen mit einer bestimmten interiorfarbe (z.B. 24). Wenn sich dort eine Formel befindet, ueberpruefe welche Zellen diese Formel benutzt und wenn diese Zellen die interiorfarbe (z.B. 34) haben, dann gebe eine Meldung aus.

Irgendwie kriege ich das nicht gebacken, ist es ueberhaupt moeglich?

Viele Gruesse aus bitterkalten Moskau,
Alexej
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelbezug ueberpruefen
24.12.2003 15:26:50
Reinhard
Hallo Alexej,
Makro moskau() müßte bei einfachen Bezügen funktionieren. Allerdings, wie an moskau2() viel leichter testbar, ist in den Makros noch der Wurm drinnen. Einfache Verknüpfungen wie =B2 werden korrekt angezeigt, aber =B2+C9 klappt nicht mehr korrekt.

Beispiel: (funktioniert)
A     B     C     D     E
1 =B2                     $A$1 $B$2
2                         $C$5 $C$7
3                         $C$8 $H$6
4
5             =C7
6
7
8             =H6
Beispiel2: (seltsam)
A     B     C     D     E
1 =B2+G7                  $A$1 $B$2
2                         $A$1 $B$3
3                         $C$5 $C$8
4                         $C$5 $C$9
5             =C8         $C$8 $H$6
6
7
8             =H6

Naja, vieleicht liegt es an dem p, hiffe war hilfreich für dich
Gruß
Reinhard

Sub moskau()
Dim FormatZellen As Range
Set FormatZellen = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
For Each Zelle In FormatZellen
If Zelle.Interior.ColorIndex = 24 Then
For p = 1 To Zelle.Precedents.Count
If Zelle.Precedents.Item(p).Interior.ColorIndex = 34 Then MsgBox "jepp"
Next p
End If
Next Zelle
End Sub
Sub moskau2()
Dim FormatZellen As Range
Set FormatZellen = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
zeile = 1
ActiveSheet.Range("E1:E20").ClearContents
For Each Zelle In FormatZellen
For p = 1 To Zelle.Precedents.Count
ActiveSheet.Cells(zeile, 5) = Zelle.Address & " " & Zelle.Precedents.Item(p).Address
zeile = zeile + 1
Next p
Next Zelle
End Sub

Anzeige
;

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