Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1788to1792
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

Schreibgeschützt

Schreibgeschützt
29.10.2020 22:04:38
Rudolf
Guten Abend.
Bei der Userform eingabe werden die Daten in der aktuellen Liste gespeicht und in einer Zentralliste.
Wenn einer in der Zentalliste drin ist , ist man in der Schreibgeschützen version.
Kann man in VBA eine Meldung hinterlegen, speichern nicht möglich, bitte später veruchen
Hoffe, jemand hat einen Plan :-)
Danke
Rudolf

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

Betreff
Datum
Anwender
Anzeige
AW: Schreibgeschützt
30.10.2020 05:08:18
Luschi
Hallo Rudolf,
eine Arbeitsmappe (Workbook) besitzt die Property/Eigenschaft 'ReadOnly', zB:
If ActiveWorkbook.ReadOnly Then
   MsgBox "Dein Meldungstext
   Eexit Sub
End If
Das würde ich aber abprüfen, bevor der Anwender irgendwelche Daten im Formular sinnlos eingibt, die er dann nicht abspeichern kann.
Gruß von Luschi
aus klein-Paris
AW: Schreibgeschützt
30.10.2020 08:31:05
Rudolf
Hallo
Danke ich werde es später prüfen
AW: Schreibgeschützt
30.10.2020 12:57:18
Rudolf
Hallo Luschi,
wo am besten kommt diese Meldung rein ?
Wenn schreibgeschützt ist, dann soll Makro auch nicht im den aktuellen speichern.
Private Sub CommandButton1_Click()
Dim lZeile As Long
Dim last As Integer, i As Integer
Dim wks2 As Worksheet
If ListBox1.ListIndex = -1 Then Exit Sub
If Trim(Textbox1.Text) = "" Then
MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
Else
If existiertMA(Trim(Textbox1.Text)) Then
If vbYes = MsgBox("Soll der Datensatz überschrieben werden?", vbCritical + vbYesNo, _
"Vorsicht") Then
'hier wird ein vorhandener Datensatz überschrieben. Das ist gefährlich wenn nur  _
ein Name als Bedingung dafür notwendig ist.
'evtl. sollten da mehrere Prüfungen passieren.
DatensatzInTabelleSchreiben (ListBox1.List(ListBox1.ListIndex, 0))
End If
End If
End If
Application.ScreenUpdating = False
Set wks2 = Worksheets("Eingabe")
Worksheets("Eingabe").Activate
'wks2.Unprotect "2510"
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(last, 1).Value = UserForm1.Datum.Value
ActiveSheet.Cells(last, 3).Value = UserForm1.Zeit.Value
ActiveSheet.Cells(last, 4).Value = UserForm1.User.Value
ActiveSheet.Cells(last, 5).Value = UserForm1.Textbox1.Value
ActiveSheet.Cells(last, 6).Value = UserForm1.TextBox4.Value
ActiveSheet.Cells(last, 7).Value = UserForm1.ListBox2.Value
ActiveSheet.Cells(last, 12).Value = UserForm1.ListBox3.Value
ActiveSheet.Cells(last, 8).Value = UserForm1.Uhrzeitvon.Value
ActiveSheet.Cells(last, 9).Value = UserForm1.Uhrzeitbis.Value
ActiveSheet.Cells(last, 10).Value = UserForm1.Pause.Value
' wks2.Protect "2510"
'wks2.Protect "2510"
'wks2.Unprotect "2510"
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(last, 1).Value = UserForm1.Datum.Value
ActiveSheet.Cells(last, 3).Value = UserForm1.Zeit.Value
ActiveSheet.Cells(last, 4).Value = UserForm1.User.Value
ActiveSheet.Cells(last, 5).Value = UserForm1.Textbox1.Value
ActiveSheet.Cells(last, 6).Value = UserForm1.TextBox4.Value
ActiveSheet.Cells(last, 7).Value = UserForm1.ListBox2.Value
ActiveSheet.Cells(last, 12).Value = UserForm1.ListBox3.Value
ActiveSheet.Cells(last, 8).Value = UserForm1.Uhrzeitvon.Value
ActiveSheet.Cells(last, 9).Value = UserForm1.Uhrzeitbis.Value
ActiveSheet.Cells(last, 10).Value = UserForm1.Pause.Value
If ActiveWorkbook.ReadOnly Then
MsgBox "Ein Mitarbeiter ist der abgespeicherten Datei aktiv. Bitte später noch einmal  _
versuchen"
Exit Sub
ActiveWindow.Close
End If
ActiveWorkbook.Save
ActiveWindow.Close
If Uhrzeitvon.Text = "" Then
MsgBox "Sie haben vergessen die Uhrzeit von einzugeben!"
Uhrzeitvon.SetFocus 'Cursor wieder in die TextBox setzen
Exit Sub
End If
If Uhrzeitbis.Text = "" Then
MsgBox "Sie haben vergessen die Uhrzeit bis einzugeben!"
Uhrzeitbis.SetFocus 'Cursor wieder in die TextBox setzen
Exit Sub
End If
MsgBox " Daten wurden übergeben"
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige