Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
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
Inhaltsverzeichnis

Datenbank Excel VBA laufende Nr.

Datenbank Excel VBA laufende Nr.
05.06.2015 11:02:08
NewOne
Hallo Forum,
ich hoffe Ihr könnt mir weiterhelfen. :-)
Ich habe folgendes Problem:
Im Unternehmen gibt es für die Kalkulation von Angebotspreisen ein Excel-Formular.
Dieses soll mit einer laufenden Nr. in einer externen Datenbank gespeichert und wieder in das Formular gebracht werden können. Das funktioniert auch soweit.
Zum Problem:
Das Formular wird zeitgleich von mehreren Nutzern genutzt (teilweise im Schreibschutz), so das es bei der Vergabe von laufenden Nr. zu Fehlermeldungen teilweise kommt.
vielleicht habt ihr eine Idee wie man das Problem lösen könnte. Für Anregungen wäre ich sehr dankbar.
Anbei der Quellcode der VBA Anwendung:
Dim a As String
a = MsgBox("Möchten Sie eine neue Kalkulation speichern?", vbYesNo, "NEUE KALKULATION SPEICHERN")
If a = vbYes Then
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Range("BF51:BI51").Select
ActiveCell.FormulaR1C1 = "='G:\[Datenbank.xlsx]Tabelle2'!R1C1"
Range("BB42").Select
ActiveCell.FormulaR1C1 = "=R[9]C[4]+1"
Range("BF42").Value = "1"
'Erhöhen der laufenden Nummer
Workbooks.Open Filename:="G:\Datenbank.xlsx"
' Öffnen der Datenbank
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Rows("2:2").EntireRow.AutoFit
' Einfügen einer neuen Zeile
Windows("KalkulationAngebote.xlsm").Activate
Sheets("Datensatz").Select
'Öffenen Tabellenblatt Datensatz
Rows("2:2").Select
Selection.Copy
Windows("Datenbank.xlsx").Activate
Rows("2:2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
'Einfügen in Datenbank
Range("A2").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
'Datenbank speichern
ActiveWindow.Close
'Datenbank schließen
Sheets("NEU").Select
Range("BF51").Select
Selection.Copy
Range("BB42").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("W1").Select
MsgBox "Der Datensatz wurde in der Datenbank als laufende Nummer " & Range("BB42").Text & " " & "gespeichert.", , ""
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowInsertingRows:=True, AllowDeletingRows _
:=True
End If
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbank Excel VBA laufende Nr.
05.06.2015 17:52:38
Klexy
Zentrale Excel-Datei für die Verwaltung der laufenden Nummer, die jeweils bei Nummernvergabe aufgerufen, beschrieben und geschlossen wird. First come, first serve. Die anderen kriegen eine Fehlermeldung und versuchen es nach 10 Sekunden noch einmal. Erst wenn das erfolgreich ist, läuft das restliche Makro weiter.
Wenn es nicht hunderte User sind, funktioniert das ganz gut.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige