Ansatz
14.09.2010 16:23:09
ChrisL
Hi Joachim
Mit folgendem Code erstellst du auf einem separaten Tabellenblatt eine Liste aller Namen und Formeln. Als Ansatz zu betrachten, weil der Abgleich von Namen und Formeln müsste noch gemacht werden ;)
Sub t()
Dim WS As Worksheet, Zelle As Range, Zeile As Long
Dim WSnew As Worksheet
' alle Formeln auflisten
Set WSnew = Worksheets.Add
For Each WS In ThisWorkbook.Worksheets
If WS.Name WSnew.Name Then
For Each Zelle In WS.UsedRange
If Zelle.Formula "" Then
Zeile = WSnew.Range("A65536").End(xlUp).Offset(1, 0).Row
WSnew.Cells(Zeile, 1) = "'" & Zelle.Formula
WSnew.Cells(Zeile, 2) = WS.Name
WSnew.Cells(Zeile, 3) = Zelle.Address(0, 0)
End If
Next Zelle
End If
Next WS
' alle Namen auflisten
Dim nam As Name
For Each nam In ThisWorkbook.Names
Zeile = WSnew.Range("E65536").End(xlUp).Offset(1, 0).Row
WSnew.Cells(Zeile, 5) = nam.NameLocal
WSnew.Cells(Zeile, 6) = "'" & nam.RefersToLocal
Next nam
End Sub
cu
Chris