Formeln mit anderen Tabellen finden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Formeln mit anderen Tabellen finden
von: erichm
Geschrieben am: 19.06.2015 09:13:59

Hallo,
über die Recherche im Forum habe ich folgendes Makro entdeckt:
https://www.herber.de/forum/archiv/1408to1412/t1408474.htm
Damit werden alle Formeln mit Bezügen zu externen EXCEL-Dateien wunderbar aufgelistet.
Ich suche allerdings eine "Übersicht" anhand derer ich erkennen kann, welche Formeln innerhalb einer Datei bestehen, bei denen mind. zwei unterschiedliche Tabellen betroffen sind.
Dabei könnten entweder:
pro Tabelle aufgelistet werden welche Formeln mit anderen Tabellenbezügen bestehen
oder
alle Formeln aus allen Tabellen mit Tabellenbezügen aufgelistet werden (so wie obiges Makro-Muster)
Besten Dank für eine Hilfe.
mfg

Bild

Betrifft: AW: Formeln mit anderen Tabellen finden
von: Rudi Maintaire
Geschrieben am: 19.06.2015 09:40:23
Hallo,
nicht ganz astrein, aber
anstatt
If InStr(rngF.FormulaLocal, "\[") > 0 Then
If InStr(rngF.FormulaLocal, "!") > 0 Then
Gruß
Rudi

Bild

Betrifft: AW: Formeln mit anderen Tabellen finden
von: erichm
Geschrieben am: 19.06.2015 10:16:18
DANKE!!
Warum nicht ganz astrein?
In zwei kleineren Dateien hat das wunderbar funktioniert; größere muss ich noch probieren.
mfg

Bild

Betrifft: AW: Formeln mit anderen Tabellen finden
von: Rudi Maintaire
Geschrieben am: 19.06.2015 10:22:26
Hallo,
Warum nicht ganz astrein?
Weil z.B. ="Bitte prüfen!" auch aufgeführt wird.
Gruß
Rudi

Bild

Betrifft: AW: Formeln mit anderen Tabellen finden
von: erichm
Geschrieben am: 19.06.2015 10:28:53
ök, verstanden - DANKE!
mfg

Bild

Betrifft: Bezüge auf andere Blätter
von: Rudi Maintaire
Geschrieben am: 19.06.2015 10:52:01
Hallo,
optimiert:

Sub Formeln_suchen_Blatt()
  'Auflistung aller Formeln mit Bezug zu einem anderen Blatt
  Dim Wks As Worksheet, wksFormeln As Worksheet
  Dim blnIndex As Boolean, rngF As Range, rngFormeln As Range
  Dim lngZeile As Long, Kopf
  Dim i As Integer, vntWks As Variant
  Application.ScreenUpdating = False
  blnIndex = False
  lngZeile = 2
  '
  For Each Wks In Worksheets
    vntWks = vntWks & Wks.Name & "!|" & "'" & Wks.Name & "'!|"
  Next
  vntWks = Split(vntWks, "|")
  '
  For Each Wks In Worksheets
    Set rngFormeln = Nothing
    On Error Resume Next
    Set rngFormeln = Wks.Cells.SpecialCells(xlCellTypeFormulas)
    On Error GoTo 0
    If Not rngFormeln Is Nothing Then
      For Each rngF In rngFormeln
        For i = 0 To UBound(vntWks) - 1
          If Not Replace(Replace(vntWks(i), "'", ""), "!", "") = Wks.Name Then
            If InStr(rngF.FormulaLocal, vntWks(i)) Then
              If blnIndex = False Then
                Set wksFormeln = Worksheets.Add(after:=Sheets(Worksheets.Count))
                Kopf = Array("Blatt", "Zelle", "Zeile", "Spalte", "Formel")
                With wksFormeln
                  .Name = "ext.Formeln"
                  .Range("A1:E1") = Kopf
                End With
                blnIndex = True
              End If
              With wksFormeln
                .Cells(lngZeile, 1) = Wks.Name
                .Cells(lngZeile, 2) = rngF.Address(0, 0)
                .Cells(lngZeile, 3) = rngF.Row
                .Cells(lngZeile, 4) = rngF.Column
                .Cells(lngZeile, 5) = "'" & rngF.FormulaLocal
                .Columns.AutoFit
              End With
              lngZeile = lngZeile + 1
              Exit For
            End If
          End If
        Next i
      Next rngF
    End If
  Next Wks
  '
  If blnIndex = False Then
    MsgBox "Keine externen Bezüge vorhanden.", , ""
  Else
    wksFormeln.Activate
  End If
  Application.ScreenUpdating = True
End Sub

Gruß
Rudi

Bild

Betrifft: DANKE - funktioniert perfekt!! o.w.T.
von: erichm
Geschrieben am: 20.06.2015 07:12:12
....

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formeln mit anderen Tabellen finden"