Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2 Benutzer aber eine fortlaufende Nummer

2 Benutzer aber eine fortlaufende Nummer
16.03.2006 14:46:22
Günther
Hallo Experten,
wir erstellen an zwei Arbeitsplätzen Anträge mit fortlaufender Nummer.
Bisher hatte ich es so gelöst, dass die Nummer in einer separaten Datei auf dem Sever gespeichert ist. Jeder der beiden Benutzer öffnet per Makro die Datei, zählt die Nummer um eins höher, kopiert sie sich in seine Arbeitsmappe, speichert und schließt die Datei mit der lfd. Nummer. Funktioniert einwandfrei - außer beide wollen gleichzeitig diese Nummer hochzählen.
Kann ich das besser lösen? Ich hoffe ich habe mich verständlich ausgedrückt.
Danke für die Mühe.
Ciao
Günther

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Benutzer aber eine fortlaufende Nummer
16.03.2006 14:59:17
WernerB.
Hallo Günther,
Du kannst per Makro bzw. benutzerdefinierter Funktion abfragen, ob eine bestimmte Datei im Netzwerk bereits geöffnet ist und dann ggf. entsprechend darauf reagieren (z.B. mit Warnhinweis und Makroabbruch).

Sub DateiZustand()
Dim Pfad As String, _
iOpen As Byte
Pfad = "X:\Daten\MappeA.xls"
iOpen = DateiIstFrei(Pfad)
Select Case iOpen
Case 0
MsgBox "Datei " & Pfad & " ist frei !"
Case 1
MsgBox "Datei " & Pfad & " ist geöffnet !"
Case 2
MsgBox "Datei " & Pfad & " wurde nicht gefunden !"
End Select
End Sub


Function DateiIstFrei(sDateiname As String) As Byte
If Dir(sDateiname) = "" Then
DateiIstFrei = 2
Else
On Error GoTo ERRORHANDLER
Open sDateiname For Random Access Read Lock Read Write As #1
Close #1
End If
ERRORHANDLER:
If Err = 70 Then DateiIstFrei = 1
End Function

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: 2 Benutzer aber eine fortlaufende Nummer
16.03.2006 15:25:34
UweD
Hallo
hier wird beim drucken (kann aber auch bei WorkbookOpen ablaufen oder...)
ganz kurz die Datei ausgelesen, der Wert um eins erhöht und sofort wieder weggeschrieben.
Beispiel für Wert in B1 auf Tabelle1


      
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    
Dim Sh
    
On Error GoTo Fehler
    
Set Sh = Sheets("Tabelle1"'bitte anpassen
    Cancel = True 'Druck wird abgebrochen
    Range("B1") = NeuNr
    Application.EnableEvents = 
False
    Sh.PrintOut Copies:=1, Collate:=
True
Fehler:
    
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & " " & Err.Description
    Application.EnableEvents = 
True
End Sub
Function NeuNr() As Integer
    
Dim AltNr%, Ini$
    Ini = 
"C:\temp\ReNr.ini"
    
If Dir(Ini) <> "ReNr.ini" Then
        NeuNr = 1
    
Else
        
Close #1
        
Open Ini For Input As #1
        
Input #1, AltNr
        
Close #1
        NeuNr = AltNr + 1
    
End If
    
Close #1
    
Open Ini For Output As #1
    
Print #1, NeuNr
    
Close #1
End Function 


Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Benutzer aber eine fortlaufende Nummer
16.03.2006 15:55:02
Günther
Danke für die Antworten, habe es zwischenzeitlich so gelöst, dank Tante Google:
nochmal:
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks.Open Filename:="\\pfad\antragsnummer.xls"
If ActiveWorkbook.ReadOnly Then
ActiveWorkbook.Close '
GoTo nochmal
Else
GoTo weiter
End If
weiter:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
trotzdem Danke für die Mühe
Gruß
Günther

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige