Hallo Leute!
Ich bin dabei eine Makrosammlung zu schreiben. Vereinfacht gesagt, sind 3 Userforms enthalten, zwischen denen man in einem Auswahlmenü wählen kann. Ich möchte einen Counter haben, der pro Userform die Zugriffe mitzählt.
Problemstellung:
Greift ein User auf meine XSLM-Datei zu, dann bekommt jeder weitere User die Nachricht, dass die Datei bereits in Verwendung ist. Daher habe ich so programmiert, dass NACH dem Auswählen der Userform eine Datei mit dem Namen des Workbooks auf dem Desktop landet (Temporäre Kopie des tages-aktuellen Originals).
Mein Counter zählt allerdings falsch. ich poste mal den Code und hoffe darauf, dass ihr mich erleuchtet:
Private Sub Image1_Click() ' ein Firmen-Logo
Splashscreen.Hide ' = Userform mit der Auswahl der Firma
Userform1.Show vbModeless 'Anzeigen der UF für Firma 1
Cells(1000, 1).value = Cells(1000, 1).value + 1 'Counter für Firma1 plus 1
'MsgBox "Nach Counter" 'zum debuggen
ActiveWorkbook.Save ' Counterstand zur Originaldatei hinzufügen, damit bei jedem User der gleiche Counter läuft
'MsgBox "nach speichern" 'zum debuggen
Dim strPfad As String
bookName = ActiveWorkbook.name
Application.DisplayAlerts = False
'MsgBox "vor speichern Desktop" 'zum debuggen
'=== Speichert eine Sicherheitskopie auf den Desktop
strPfad = Environ("UserProfile") & "\Desktop\"
ActiveWorkbook.SaveAs fileName:=strPfad & bookName, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'=======
'MsgBox "saved to desktop" 'zum debuggen
Application.DisplayAlerts = True
End Sub
Nun SOLLTE die Zelle A1000 (Counter_Userform1) eine Zahl x enthalten, die um 1 größer ist, als zuvor.
Nun rufe ich über einen Butten in der Userform die Anzahl auf und bekomme die Zahl x + 2!
Private Sub Counter_Click()
Dim Counter As Integer
Counter = Cells(1000, 1)
MsgBox "Die Datei hatte bis jetzt " & Counter & " Aufrufe."
End Sub
Wird durch das speichern ggf. kurzzeitig die UF neu geöffnet und die Zahl wird wiederholt dazuaddiert?
Könnt ihr mir sagen, wie ich (unbedingt unsichtbar für den user!) die Zahlen auch einfach bei Aufruf der Userform an eine Datei "Statistiken.XLSX" in die Zellen A1, A2, A3 bekomme? Ich habe dazu lange gesucht, aber nie das richtige gefunden :/ Damit könnte ich nämlich das Doppelte Speichern der Datei vermeiden und so ggf. die Doppelzählungen des Counters.
Vielen Dank für euren Support!
Dörk
|