Thema Datum  Von Nutzer Rating
Antwort
29.06.2007 09:30:55 Christian
NotSolved
29.06.2007 19:52:17 Sozu
NotSolved
Rot Aw:Aw:Excel Dateien konservieren
02.07.2007 12:58:08 Christian
NotSolved
02.07.2007 17:33:26 Sozu
NotSolved
03.07.2007 08:35:54 Christian
NotSolved

Ansicht des Beitrags:
Von:
Christian
Datum:
02.07.2007 12:58:08
Views:
1111
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Excel Dateien konservieren
Hallo Sozu,

habe deinen Vorschlag mal umgesetzt. Da ich mich noch nicht groß in der Materie auskenne meine Frage, stimmt das so??

Sub DateienKomplettKonservieren()

ChDrive "H:"
Pfad = "H:\Projekte\2007\"
If Pfad Like "" Then
Exit Sub
End If

With Application.FileSearch
.LookIn = Pfad
.Filename = "*.xls"
.Execute
For i = 1 To .FoundFiles.Count
Datei = .FoundFiles(i)
Workbooks.Open Datei

Dim ws As Worksheet
Dim dia As Chart

For Each ws In ActiveWorkbook.Worksheets
ActiveSheet.Unprotect password:="zvfr"


ws.Protect password:="zvfr", DrawingObjects:=True, Contents:=True, Scenarios:=True

Next ws

For Each dia In ActiveWorkbook.Charts
ActiveSheet.Unprotect password:="zvfr"


dia.Protect password:="zvfr", DrawingObjects:=True, Contents:=True, Scenarios:=True

Next dia

ActiveWorkbook.Protect password:="zvfr", Structure:=True, Windows:=False
ActiveWorkbook.Close savechanges:=True

Next i

MsgBox "Herzlichen Glückwunsch. Alle Dateien im Ordner Projekte wurden konserviert!!!"

End With

End Sub


Wenn ich es selber nachprüfe ist in jeder Datei wo ws und dia vorkommen ein tabellenblatt was ungeschützt ist. Ansonsten geht es einwandfrei.
Frage: Was habe ich falsch gemacht.

Herzlichen Dank schon einmal im voraus

Gruß Christian


Sozu schrieb am 29.06.2007 19:52:17:

Hey Christian,
dein Makro hängt sich aus mehreren Gründen auf.

1. Du kannst in ausgeblendeten Sheets keine Zelle selectieren, da die Zellen ja nicht sichtbar sind.
2. Diagrammblätter haben keine Zellen. Darum führt Cells.Select im Diagramm zum Fehler.

Zu 1. Warum erst "Cells.Select" bevor "Selection.Looked"?
Setze einfach Cells.Locked und in ausgeblendeten Sheets hast du keine Probleme.

Zu 2. Die Schleife "FOR EACH ws in ActiveWorkbook.WorkSheets .... NEXT ws" funktioniert auch. Natürlich muss du vorher "DIM ws as Worksheet" deklarieren.
Hier werden aber jetzt wirklich nur die Worksheets angewählt. Du kannst dann auch das Sheet(1).Select weglassen und "ws.cells.Locked" und "ws.protect" setzen, was deinen Makro schneller macht.
Für die Diagramme machst du das gleiche mit
DIM dia as Chart
...
For each dia in ActiveWorkbook.Charts
...
dia.protect password:= ...
...
Next dia

Gruß Sozu

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.06.2007 09:30:55 Christian
NotSolved
29.06.2007 19:52:17 Sozu
NotSolved
Rot Aw:Aw:Excel Dateien konservieren
02.07.2007 12:58:08 Christian
NotSolved
02.07.2007 17:33:26 Sozu
NotSolved
03.07.2007 08:35:54 Christian
NotSolved