Excel Formelen mittels VBA als TXT-Datei

Shottie

Lt. Commander
Registriert
Nov. 2004
Beiträge
1.027
Hallo alle,

ich habe ein kleines Problem ich habe mir ein Skript erstelle das mit Formelne mittels VBA in Excel eine TXT-Datei erstellt nun habe ich das Problem das alle Formeln in englisch ausgegeben werden und dich diese in deutsch haben möchte bzw. so wie sie hinterlegt sind. Ich hoffe ihr könnt mir da helfen.

Hier das skript für die VBA Programmierung:

Sub Alle_Formeln_sichern()

Dim WS As Worksheet

Dim Sicherungsdatei As String

Dim Zeile As Long

Dim Spalte As Integer



Sicherungsdatei = ActiveWorkbook.Path & _

Application.PathSeparator & "Sicherung.txt"

Open Sicherungsdatei For Output As 1



' Such in allen Tabellenblättern, ...

For Each WS In ActiveWorkbook.Worksheets

' ... allen Zeilen ...

For Zeile = 1 To WS.UsedRange.Rows.Count

' ... und allen Spalten ...

For Spalte = 1 To WS.UsedRange.Columns.Count

' ... nach Formeln ...

If Cells(Zeile, Spalte).HasFormulaLocal Then

' und exportiere sie in die Sicherungsdatei

Print #1, WS.Name & Chr(32) & _

Cells(Zeile, Spalte).Address & Chr(32) & _

Cells(Zeile, Spalte).Formula & Chr(13)

End If

Next Spalte

Next Zeile

Next WS

Close #1

End Sub
 
Cells(Zeile, Spalte).Formula & Chr(13)

wird zu

Cells(Zeile, Spalte).Formulalocal & Chr(13)

Edit: Der Panda war schneller. Ja das muss dahin.
 
Benutz doch lieber...

Sub test()
Dim cl As Range
Dim WS As Worksheet

On Error Resume Next

.
.
.

For Each WS In ActiveWorkbook.Worksheets
For Each cl In WS.Cells.SpecialCells(xlCellTypeFormulas)

Print #1, WS.Name & Chr(32) & _
cl.Address & Chr(32) & _
cl.FormulaLocal & Chr(13)

Next cl
Next WS
End Sub

cl.Formulalocal & Chr(13)

Next cl
 
Hallo ich bins noch einmal. Euer Tipp hat super geklappt, doch nun habe ich mir überlegt das ich die ausgabe ja auch als Exceltabelle machen kann und ich würde dort gerne alles in spalten aufteilt haben also

Formel eine eigene Spalte
Zellenname der Zelle in der die Formel steht in einer spalte
und der Blattname in der die Formel steht in einer Zelle.

Was müsste ich an meinem Skript dann abändern?
 
Sub Alle_Formeln_sichern()

Dim cl As Range
Dim i As Integer
Dim EmptyRow as Long

On Error Resume Next

With ActiveWorkbook.Sheets.Add(Worksheets(1))
.Name = "Formeln"
End With

For i = 2 To ActiveWorkbook.Worksheets.Count
For Each cl In Worksheets(i).Cells.SpecialCells(xlCellTypeFormulas)

With Worksheets("Formeln")
EmptyRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(EmptyRow, 1) = Worksheets(i).Name
.Cells(EmptyRow, 2) = cl.Address
.Cells(EmptyRow, 3) = "/" & cl.FormulaLocal
End With
Next cl
Next i
End Sub
 
Zurück
Oben