Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1076to1080
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formeln auflisten - Geändert

Formeln auflisten - Geändert
28.05.2009 11:26:33
Michael
Hallo,
ich bediene mich folgendem Makro um die Formeln in einem Tabellenblatt aufzulisten:

Sub Formeln_auflisten()
Dim C As Range, i As Long
i = 2
On Error GoTo ErrHandler:
For Each C In Tabelle1.Range("A1:C21").Cells.SpecialCells(xlCellTypeFormulas)
Cells(i, 10) = C.Address(0, 0)
Cells(i, 11) = "'" & C.FormulaLocal
i = i + 1
Next C
Exit Sub
ErrHandler:
MsgBox ("Keine Formeln im Bereich")
Exit Sub
End Sub


So jetzt hat sich aber die Aufgabenstellung geändert. Ich muss jetzt über alle Tabellenblätter in der Datei gehen und die Formlen auflisten. Die Auflistung soll in einem bestimmten Tabellenblatt (Bezeichung: Controll bzw. Tabelle3) erfolgen.
Und die Auflistung muss folgendermaßen aussehen:
Urspungstabelle Ursprungszelle Formel
Wobei bei Urspungstabelle nicht die Blattbezeichnung gemeint ist, sondern die interne Tabellennummer 1, 5, oder 6. Ich hoffe ihr versteht.
So wie muss ich nun obiges Makro erweitern, dass es nicht nur über das aktive Worksheet geht sondern über alle Worksheets den angegebenen Bereich absucht nach Formeln?
Beste Grüße
Michael

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
For wks = 1 To Worksheets.Count ...
28.05.2009 11:42:37
Matthias
Hallo

Sub Formeln_auflisten()
Dim C As Range, i As Long, wks As Long
i = 2
For wks = 1 To Worksheets.Count
On Error GoTo ErrHandler:
For Each C In Worksheets(wks).Range("A1:C21").Cells.SpecialCells(xlCellTypeFormulas)
Cells(i, 10) = "Blattindex (" & wks & ") " & C.Address(0, 0)
Cells(i, 11) = "'" & C.FormulaLocal
i = i + 1
Next C
Next
Exit Sub
ErrHandler:
MsgBox ("Keine Formeln im Bereich")
Exit Sub
End Sub


Gruß Matthias

AW: For wks = 1 To Worksheets.Count ...
28.05.2009 11:48:42
Michael
Besten Dank! Funktioniert soweit sehr gut. Aber ich bräuchte eine dreispaltige Auflistung. Und es müsste Tabelle1 Tabelle2 usw. heißen sowie sie der VBA Editor durchnummiert.
Gruß
Michael
Anzeige
Formeln aller Tabellenblätter auflisten
28.05.2009 11:48:29
NoNet
Hallo Michael,
probiere doch mal folgendes Makro :

Sub Formeln_auflisten()
Dim lngZ As Long
Dim wsBlatt As Worksheet
Dim rngFormeln As Range, rngZelle As Range
lngZ = 1
For Each wsBlatt In Worksheets
On Error Resume Next
Set rngFormeln = Nothing
Set rngFormeln = wsBlatt.Range("A1:C21").Cells.SpecialCells(xlCellTypeFormulas)
If Not rngFormeln Is Nothing Then
For Each rngZelle In rngFormeln
lngZ = lngZ + 1
Cells(lngZ, 10) = wsBlatt.CodeName
Cells(lngZ, 11) = rngZelle.Address(0, 0)
Cells(lngZ, 12) = "'" & rngZelle.FormulaLocal
Next
End If
Next
If lngZ = 1 Then MsgBox "Keine Formeln im Bereich"
End Sub


Gruß, NoNet

Anzeige
DANKE !!!! GENAU SO MUSS ES SEIN
28.05.2009 11:51:19
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige