Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1044to1048
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

Alle Formeln einer Seite auf extra Sheet anzeigen

Alle Formeln einer Seite auf extra Sheet anzeigen
28.01.2009 16:50:00
Bernd
Hallo Freaks,
ich habe nachstehenden Code aus dem forum entnommen und wäre sehr dankbar, wenn dieser so angepasst werden würde, dass alle Formeln eines markierten Bereiches auf einem extra Blatt angezeigt werden würden (innerhalb oder ausserhalb der Datei ist egal) .
Vielen Dank vorab.

Sub Formulas()
Dim rng As Range
Dim iFile As Integer
Dim sFile As String
sFile = Application.Path & "\formulas.xls"
iFile = FreeFile
Open sFile For Output As iFile
For Each rng In Range("A1").CurrentRegion.Cells
If rng.HasFormula Then
Print #iFile, _
rng.Address; Tab; _
rng.Formula, Tab; _
rng.FormulaLocal
End If
Next rng
Close iFile
Workbooks.OpenText _
Filename:=sFile, _
DataType:=xlDelimited, _
Tab:=True, _
semicolon:=False, _
comma:=False, _
Space:=False, _
other:=False
MsgBox "Weiter"
ActiveWorkbook.Close savechanges:=False
Kill sFile
End Sub


Grüße
Bernd

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Formeln einer Seite auf extra Sheet anzeigen
28.01.2009 18:26:00
fcs
Hallo Bernd,
hier mein Vorschlag. Formeln des selektierten Bereichs werden in eine neue, externe Datei geschrieben.
Sinnvoller Weise speicherst du dieses Makro in deiner persönlichen Makro-Arbeitsmappe.
Matrix-Formeln (die mit {=...}) werden ohne die geschweiften Klammern ausgegeben.
Das makro muss du dir halt so anpassen, dass die gewünschte Formel-Schreibweise ausgegeben wird.
Gruß
Franz

Sub Formulas()
Dim rng As Range, rngBereich As Range, wks As Worksheet
Dim strZeile2 As String, strZeile1 As String
Dim iFile As Integer
Dim sFile As String
Set rngBereich = Selection
strZeile1 = "Formeln  in " & ActiveWorkbook.Name
strZeile2 = "Tabelle: " & ActiveSheet.Name & "   Bereich: " & rngBereich.Address
Set wb = Application.Workbooks.Add(Template:=xlWBATWorksheet)
Set wks = wb.Worksheets(1)
With wks
Zeile = 1
.Cells(Zeile, 1) = strZeile1
Zeile = 2
.Cells(Zeile, 1) = strZeile2
Zeile = 3
.Cells(Zeile, 1) = "Zelle"
.Cells(Zeile, 2) = "Formula-Local"
.Cells(Zeile, 3) = "Formula"
.Cells(Zeile, 4) = "Formula-Local Z1S1"
.Cells(Zeile, 5) = "Formula Z1S1"
.Cells.VerticalAlignment = xlVAlignTop
With .Range(.Columns(2), .Columns(5))
.ColumnWidth = 35
.WrapText = True
End With
For Each rng In rngBereich
If rng.HasFormula Then
Zeile = Zeile + 1
.Cells(Zeile, 1) = rng.Address
.Cells(Zeile, 2) = "'" & rng.FormulaLocal
.Cells(Zeile, 3) = "'" & rng.Formula
.Cells(Zeile, 4) = "'" & rng.FormulaR1C1Local
.Cells(Zeile, 5) = "'" & rng.FormulaR1C1
End If
Next rng
End With
Range("B3").Select
ActiveWindow.FreezePanes = True
End Sub


Anzeige
@Franz: Super! Danke!!! o.T.
29.01.2009 11:15:00
Bernd

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige