Hallo alle,
in meiner Firma sind wir jetzt alle auf office 2010 umgestellt worden und ich habe versucht das Skript zur Ausgabe der Formeln in einer Exceltabelle mit dem Fromat .xlsx , also excel 2010 Format auszugeben, doch wenn ich das in dem Format ausgeben lasse kommt bei mir eine Fehlermeldung Datei ist beschädigt oder ungültig. Des weiteren würde ich gerne den spalten einen Namen geben, dochich weiss nicht so recht, wie ich den Befehl dafür einfügen soll, da meine Kenntnisse doch sehr beschränkt sind was VBA angeht.
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 & "Systembeschreibung.xls"
Open Sicherungsdatei For Output As 1
For Each WS In ActiveWorkbook.Worksheets
For Zeile = 1 To WS.UsedRange.Rows.count
For Spalte = 1 To WS.UsedRange.Columns.count
If Cells(Zeile, Spalte).HasFormula Then
Print #1, WS.Name & Chr(9) & _
Cells(Zeile, Spalte).Address & Chr(9) & Chr(39)& _
Cells(Zeile, Spalte).Formulalocal & Chr(13)
End If
Next Spalte
Next Zeile
Next WS
Close #1
End Sub
in meiner Firma sind wir jetzt alle auf office 2010 umgestellt worden und ich habe versucht das Skript zur Ausgabe der Formeln in einer Exceltabelle mit dem Fromat .xlsx , also excel 2010 Format auszugeben, doch wenn ich das in dem Format ausgeben lasse kommt bei mir eine Fehlermeldung Datei ist beschädigt oder ungültig. Des weiteren würde ich gerne den spalten einen Namen geben, dochich weiss nicht so recht, wie ich den Befehl dafür einfügen soll, da meine Kenntnisse doch sehr beschränkt sind was VBA angeht.
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 & "Systembeschreibung.xls"
Open Sicherungsdatei For Output As 1
For Each WS In ActiveWorkbook.Worksheets
For Zeile = 1 To WS.UsedRange.Rows.count
For Spalte = 1 To WS.UsedRange.Columns.count
If Cells(Zeile, Spalte).HasFormula Then
Print #1, WS.Name & Chr(9) & _
Cells(Zeile, Spalte).Address & Chr(9) & Chr(39)& _
Cells(Zeile, Spalte).Formulalocal & Chr(13)
End If
Next Spalte
Next Zeile
Next WS
Close #1
End Sub
Zuletzt bearbeitet: