Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Speichern einer freigegebenen Arbeitsmappe |
27.11.2017 15:30:31 |
hartmut |
|
|
|
27.11.2017 17:19:26 |
Gast97472 |
|
|
|
28.11.2017 07:33:18 |
Gast63962 |
|
|
|
28.11.2017 07:34:41 |
Gast56442 |
|
|
Von:
hartmut |
Datum:
27.11.2017 15:30:31 |
Views:
1229 |
Rating:
|
Antwort:
|
Thema:
Speichern einer freigegebenen Arbeitsmappe |
Hallo EXCEL/VBA Experten
ich habe eine Mappe als Einsatzplan erstellt. Diese ist frei gegeben, auf einem Netzlaufwerk abgelegt und wird von mehreren Nutzern bearbeitet. Zur Datensicherung wird eine Kopie in einem frei wählbaren Ordner gespeichert .Dazu wird dem Dateinamen eine fortlaufende Zahl angehängt. Alle Kopien bleiben in dem Ordner mit fortlaufender Nummer. Außerdem speichert das Marco eine Kopie in einem anderen frei wählbaren Ordner welche jedes Mal überschrieben wird. Die Speicherung erfolgt Zeitgesteuert zu einer festgelegten Zeit (Application.OnTime). Das funktioniert auch. Ich habe mehreren save oder copy Funktionen ausprobiert. Aber es gibt immer irgendwelche Probleme. In der letzten Version (siehe Code) wird meistens die Fehlermeldung angezeigt „Sie sind nicht mehr mit der Datei verbunden…).
Wie könnte ich das optimal speichern. Bin noch kein Experte deshalb wird der Code auch sonst nicht perfekt sein, bitte um Nachsicht. Wäre schön wenn mir jemand helfen könnte.
Hier meine letzte Variante die beim Speichern aufgerufen wird:
Option Explicit
Public Sub speichern1()
' speichern und sichern
' Variablen mit Ort für speichern laden
varPfadsicher = Tabelle1.Range("A1").Value
varPfadsicher = varPfadsicher & "\PE2017"
varPfadkopie = Tabelle1.Range("A4").Value
varPfadkopie = varPfadkopie & "\PE2017"
'letzte für Dateinamen laden
UserFormEinstellung.TextBoxh = Tabelle1.Range("A2").Value
UserFormEinstellung.TextBoxmin = Tabelle1.Range("A3").Value
nummer = Tabelle1.Range("A5").Value
strPath = ThisWorkbook.Path
strname = ThisWorkbook.Name
strPfad = strPath & "\" & strname
Application.DisplayAlerts = False
'Datei mit neuer Nummer + 1 speichern
ThisWorkbook.SaveAs Filename:=varPfadsicher & "_" & nummer + 1 & ".xlsm", AccessMode:=xlShared
'Datei überschreiben
If Dir(varPfadkopie) = "" Then '? gibt es schon eine Datei die überschrieben werden kann
Else
Kill (varPfadkopie & "*.xlsm") 'alte Datei löschen
End If
ThisWorkbook.SaveAs Filename:=varPfadkopie & ".xlsm", AccessMode:=xlShared
ThisWorkbook.SaveAs Filename:=strPfad, AccessMode:=xlShared
Application.DisplayAlerts = True
' Nummer für Datei Namen +1
Tabelle1.Range("A5").Value = nummer + 1
End Sub
'anzeigen es wird gespeichert
Public Sub speichern()
UserForm2.Show
End Sub
Danke für die Hilfe.
Gruß
Hartmut |
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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
|
Speichern einer freigegebenen Arbeitsmappe |
27.11.2017 15:30:31 |
hartmut |
|
|
|
27.11.2017 17:19:26 |
Gast97472 |
|
|
|
28.11.2017 07:33:18 |
Gast63962 |
|
|
|
28.11.2017 07:34:41 |
Gast56442 |
|
|