Collapse column

Autor Thema: Auflistung sämtlicher Formeln in gesondertem Tabellenblatt  (Gelesen 2684 mal)

Offline Excel-Axl

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2007
Auflistung sämtlicher Formeln in gesondertem Tabellenblatt
« am: Februar 03, 2015, 12:09:04 Nachmittag »
Hallo,

ich habe eine Excel-Datei, die mehrere Tabellenblätter und einige hundert Formeln beinhaltet.

In einem gesonderten Tabellenblatt (z.B. "Formeldokumentation") sollen künftig sämtliche Formeln der Excel-Datei aufgelistet werden können.  :o

Z.B. in folgender Art:
Spalte A: Tabellenblatt (z.B. "Tabelle1")
Spalte B: Zelle (z.B. C7)
Spalte C: Formel

Wie kann ich dieses mittels eines Makros lösen?
Gibt es auch eine Alternative zu einem Makro und wenn ja, wie müsste die aufgebaut werden?

Am schönsten wäre es, wenn das Makro oder whatever jedes Tabellenblatt Zeile für Zeile nach Formeln durchsuchen würde, wäre aber letztlich egal...

Da ich leider keine Makro-Erfahrung habe, wäre es toll wenn eure Hinweise nicht zu verkürzt ausfallen...  ;)

Vielen Dank im Voraus!


Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw: Auflistung sämtlicher Formeln in gesondertem Tabellenblatt
« Antwort #1 am: Februar 03, 2015, 13:38:18 Nachmittag »
Moin,

Füge diesen Code in das Modul "DieseArbeitsmappe" ein:
Option Explicit

Sub AlleFormeln()
   Dim wksBlatt As Worksheet, wksFormeln As Worksheet
   Dim c As Range
   Dim BlName As String
   Dim fRow As Long
   
   Set wksFormeln = Sheets("Formeln")
   With wksFormeln
      .Cells(1, 1) = "Blatt-Name"
      .Cells(1, 2) = "Zell-Adresse"
      .Cells(1, 3) = "Formel"
   End With
   
   For Each wksBlatt In ActiveWorkbook.Sheets
      BlName = wksBlatt.Name
      If BlName <> "Formeln" Then
         For Each c In wksBlatt.UsedRange
            If c.HasFormula Then
               fRow = wksFormeln.Cells(Rows.Count, 1).End(xlUp).Row + 1
               With wksFormeln
                  .Cells(fRow, 1) = BlName
                  .Cells(fRow, 2) = c.Address(0, 0)
                  .Cells(fRow, 3) = "'" & CStr(c.Formula)
               End With
            End If
         Next c
      End If
   Next wksBlatt
End Sub

Zitat
Da ich leider keine Makro-Erfahrung habe, wäre es toll wenn eure Hinweise nicht zu verkürzt ausfallen...  ;)
habe ich gelesen. Aber wenn ich schon kostenlose Lösungen liefere, dann muss einfach noch eine "Reserve" für meine zahlenden Kunden bleiben. Da ist solch ein Code natürlich kommentiert und auch noch etwas "eleganter".  8)

Hinweis: Das Blatt, wo die Auswertung drin steht, MUSS den Namen "Formeln" (ohne Anführungen) haben, oder du änderst den Namen im Code.

EDIT: Code wegen eines Fehlers geändert
« Letzte Änderung: Februar 03, 2015, 13:47:12 Nachmittag von gmg-cc »
Gruß
Günther

Offline Excel-Axl

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2007
Antw: Auflistung sämtlicher Formeln in gesondertem Tabellenblatt
« Antwort #2 am: Februar 04, 2015, 08:56:25 Vormittag »
Hallo Günther,

WOW...  Vielen vielen Dank für das Makro!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
:) :) :) :) :) :) :)

Viele Grüße
Mark

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Antw: Auflistung sämtlicher Formeln in gesondertem Tabellenblatt
« Antwort #3 am: Februar 26, 2015, 23:16:12 Nachmittag »
interessantes Skript!
Bei mir kommt allerdings (unter 2003) folgendes raus:

Blatt-Name   Zell-Adresse   Formel
Tabelle1   D2   =HLOOKUP(B2,$B$12:$F$13,2,FALSE)

wie kann ich die (mir gängigen) deutschen Formeln angeben lassen?

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw: Auflistung sämtlicher Formeln in gesondertem Tabellenblatt
« Antwort #4 am: Februar 27, 2015, 00:02:00 Vormittag »
… nicht nur unter 2003  8) Das sind nämlich die "wirklichen" Formeln. - Ändere den Code so ab:

.Cells(fRow, 3) = "'" & CStr(c.Formula[color=red][b]Local[/b][/color])
und du hast die Ausgabe der Formeln in der auf dem Rechner installierten Sprache, vermutlich deutsch.
Gruß
Günther

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.