Microsoft Excel

Herbers Excel/VBA-Archiv

VBA Hochzählen ohne speichern


Betrifft: VBA Hochzählen ohne speichern von: Jef
Geschrieben am: 09.08.2016 19:47:52

Hallo,

ich habe eine Excel Datei, die in einer Zelle um 1 hochzählen soll (beim öffnen oder beim speichern unter), wobei die Datei schreibgeschützt bleibt/ist. Nun wird die Datei nur unter anderem Namen gespeichert, welche ich auch bereits über eine Makro vorgegeben habe.

Das Problem: Die Zelle zählt nicht hoch, ohne dass ich die "Hauptdatei" neu speichere.

Gibt es eine Möglichkeit Die Zelle hochzählen zu lassen, ohne dass die Datei gespeichert werden muss. Bspw. über die Anzahl der gespeichert unter, oder die Anzahl der Dateien in einem Ordner?

Makro bisher:

Sub Save_As()
ActiveWorkbook.SaveAs Filename:="\\XXXX\xxxx\13 Reklamation\Reklamationen mit ID\" & "Rek ID " & Range("F5").Value & " BestNr " & Range("F4") & ".xls"
End Sub

Private Sub Workbook_Open()
With Sheets("Reklamationsmanagement PC")
.Range("F5") = .Range("F5") + 1
End With
End Sub

  

Betrifft: AW: VBA Hochzählen ohne speichern von: Daniel
Geschrieben am: 09.08.2016 20:03:33

Hi
nein, wenn du die Datei nicht speicherst, gehen alle geänderten Informationen verloren (ist eigentlich logisch).

im Prinzip gibts folgende Möglichkeiten, wenn du die Datei schreibgeschützt halten willst (ist ne Vorlage, vermute ich)
Variante a)
du legst eine eigene Datei (kann auch eine CSV sein), in welcher du den Zähler beim Öffnen hochzählst.
dh im Workbook.Open läuft dann folgendes ab:
Prüfen, ob auf Datei mit Zählernummer zugegriffen werden kann (DIR)
- Datei mit Zählernummer öffnen
- Zähler erhöhen
- Zähler in Variable für weiter Verwendung speichern
- Datei mit Zählernummer speichern und schließen

Variante b)
du legst keinen Schreibschutz auf die Datei.
im WorkbookOpen-Event läuft dann folgendes ab:
- Zähler wird erhöht
- Datei wird gespeichert
- du wechselst den Status der Datei auf Schreibgeschützt, das geht mit dem Befehl: Me.ChangeFileAccess xlReadOnly
Damit ist die Datei wieder davor gesichert, mit den Änderungen überschrieben zu werden.

Gruß Daniel


Beiträge aus den Excel-Beispielen zum Thema "VBA Hochzählen ohne speichern"