Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1660to1664
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 eines Sheets mit Zellbezug ausgeben

Alle Formeln eines Sheets mit Zellbezug ausgeben
11.12.2018 10:50:27
Harald
Hallo zusammen,
ich arbeite momentan an verschiedenen Validierungsprojekten, u.A. auch an der Validierung von Excel-Sheets inkl. Audit-Trail. Bei der Validierung gehört es dazu, dass sämtliche Formeln, die in einem Excel-Sheet verwendet werden, als Text ausgedruckt werden.
zu 99,99% handelt es sich dabei um einfache Formeln mit maximal 2 Verschachtelungen, größtenteils Wenn-, Summe-, Mittelwertformeln.
Ich weiß, dass man Formeln über die Range.Formula Funktion in eine Variable speichern kann. Die Problematik ist aber, dass ich vorher nicht weiß, in welcher Zelle die Formel steht.
Ich benötige also eine Schleife, die jede nicht-leere Zelle in jedem Blatt untersucht und für jede Zelle, die eine Formel enthält, muss diese kopiert und mit der Zelle, in der sie steht, in ein gesondertes Blatt kopiert werden. Optimal sieht dieses gesonderte Blatt dann so aus:
Blatt - Zelle - Formel
Tabelle 1 - B4 - =summe(B1:B3)
Tabelle 2 - R12 - =wenn(R11=0;"";"Korrekt")
.
.
.
.
Hat jemand von euch eine Idee, ob und wie man das bewerkstelligen könnte?
Leider richten sich die meisten Lösungen auf feste Zellen.
Vorab schonmal danke für euer Hirnschmalz, ich google weiter, vielleicht finde ich selber einen Ansatz. :)
Harry

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Formeln eines Sheets mit Zellbezug ausgeben
11.12.2018 11:03:08
Karl-Heinz
Hallo Harry,
hier mal eine Idee, wie man das machen könnte. Die Ausgabe in ein andres Blatt kriegst Du sicher selbst hin :-)
Sub SuchFormeln()
Dim oFinde As Range, WSh As Worksheet
Dim sErsteAdresse As String
Set WSh = ActiveSheet
Set oFinde = WSh.UsedRange.Find("=", LookIn:=xlFormulas)
If Not oFinde Is Nothing Then
sErsteAdresse = oFinde.Address
Do
Debug.Print oFinde.Parent.Name, oFinde.Address, oFinde.FormulaLocal
Set oFinde = WSh.UsedRange.FindNext(oFinde)
Loop While Not oFinde Is Nothing And oFinde.Address  sErsteAdresse
End If
End Sub
viele Grüße
Karl-Heinz
Anzeige
AW: Alle Formeln eines Sheets mit Zellbezug ausgeben
11.12.2018 11:08:42
PeterK
Hallo
Verwende doch die INQUIRE Funktion von Excel
siehe https://support.office.com/de-de/article/aktivieren-des-inquire-add-ins-6bc668e2-f3c6-4729-8ce1-75ea20aa9d90
AW: Alle Formeln eines Sheets mit Zellbezug ausgeben
11.12.2018 11:31:48
UweD
Hallo
so?
Modul1
Option Explicit 
 
Sub Formeln() 
    Dim WB As Workbook, TB As Worksheet, Zelle 
    Dim ZielTB As Worksheet, Z As Integer, Anz As Integer 
     
    Set WB = ActiveWorkbook 
    Set ZielTB = WB.Sheets("Alle Formeln") 
     
    'Reset 
    ZielTB.Cells.ClearContents 
     
    For Each TB In WB.Worksheets 
        If TB.Name <> ZielTB.Name Then 
             
            'Tabellen ohne Formeln erkennen 
            Anz = 0 
            On Error Resume Next 
            Anz = TB.Cells.SpecialCells(xlCellTypeFormulas).Count 
            On Error GoTo 0 
             
            If Anz > 0 Then 
                For Each Zelle In TB.Cells.SpecialCells(xlCellTypeFormulas) 
                    Z = Z + 1 
                    ZielTB.Cells(Z, 1) = TB.Name 
                    ZielTB.Cells(Z, 2) = Zelle.Address 
                    ZielTB.Cells(Z, 3) = "'" & Zelle.FormulaLocal 
                Next 
            End If 
        End If 
    Next 
End Sub 
 

LG UweD
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige