AW: Nachfrage
01.12.2021 20:05:23
Edmund
Hallo Boris, hab die Datei hochgeladen: https://www.herber.de/bbs/user/149519.xlsm
Wenn ich das UserForm " HausverwaltungEingabe" öffne - Anzeige geht , erster Datensatz der Tabelle wird angezeigt!
Im Formular Vor und Zurück geht !
Schließen des Formulars geht!
Nun das was noch nicht so richtig geht:
Wenn man auf den Button Neue HV klickt, soll zum ersten freien Datensatz gesprungen werden damit ich die neue Hausverwaltung eingeben kann.
Danach soll, wenn der Button "Eintragen" gedrückt wird, der Datensatz gespeichert werden.
Wenn ich auf einen vorhandenen Datensatz bin und den editiere ( z.B. neue Telefonnummer eintrage) soll, wenn ich auf Eintragen klicke, der geänderte Datensatz gespeichert werden. Wenn ich z.Z. einen Datensatz ändere und auf Eintragen gehe, speichert er mir diesen immer als neuen Datensatz am Ende der Tabelle ab.
Löschen des Datensatzes auf dem ich gerade bin geht leider auch noch nicht
Muss die Tabelle "Hausverwaltungen" immer ungeschützt sein?, mir währe lieber sie ist geschützt und wird nur zum Eintragen ungeschützt.
Und zum Schluss, lass dir Zeit, ich bin froh, dass du mir hilfst.
lg
Edmund
Zum Schluss noch eine Frage: Wenn ich die Button drücke, zuckt mein Bildschirm immer etwas, ist das normal?
Public Zeile As Long
'Beim Öffnen soll der erste Datensatz der Tabelle Hausverwaltungen im Formular angezeigt werden - fertig
Private Sub UserForm_Initialize()
Sheets("Hausverwaltungen").Visible = True
Sheets("Hausverwaltungen").Select
If Zeile = 0 Then Zeile = 2
With Worksheets("Hausverwaltungen")
NameHausverwaltung = Sheets("Hausverwaltungen").Cells(Zeile, 1)
NrHausverwaltung = Sheets("Hausverwaltungen").Cells(Zeile, 2)
StrasseNr = Sheets("Hausverwaltungen").Cells(Zeile, 3)
PLZ = Sheets("Hausverwaltungen").Cells(Zeile, 4)
Ort = Sheets("Hausverwaltungen").Cells(Zeile, 5)
Telefon = Sheets("Hausverwaltungen").Cells(Zeile, 6)
Emailadresse = Sheets("Hausverwaltungen").Cells(Zeile, 7)
End With
ActiveWindow.SelectedSheets.Visible = False
End Sub
'speichert den neuen Datensatz - fertig
Private Sub ButtonEintragen_Click()
'erste freie Zeile ausfindig machen
Dim last As Integer
Sheets("Hausverwaltungen").Visible = True
Sheets("Hausverwaltungen").Select
last = Sheets("Hausverwaltungen").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Name der Hausverwaltung
Cells(last, 1).Value = NameHausverwaltung
'Nr. der Hausverwaltung
Cells(last, 2).Value = NrHausverwaltung
'Strasse und Hausnummer der Hausverwaltung
Cells(last, 3).Value = StrasseNr
'PLZ
Cells(last, 4).Value = PLZ
'Ort
Cells(last, 5).Value = Ort
'Telefon
Cells(last, 6).Value = Telefon
'Emailadresse der Hausverwaltung
Cells(last, 7).Value = Emailadresse
Range("A1:G51").Sort Key1:=Range("A2"), Header:=xlYes
Sheets("Hausverwaltungen").Visible = False
Unload HausverwaltungEingabe
End Sub
'Formular schließen ohne zu speichern - fertig
Private Sub ButtonCancel_Click()
Unload Me
End Sub
'Löscht den angezeigten Datensatz - geht noch nicht
Private Sub ButtonLöschen_Click()
Sheets("Hausverwaltungen").Visible = True
Range("A4:G4").Select
Selection.Delete
Sheets("Hausverwaltungen").Select
ActiveWindow.SelectedSheets.Visible = False
End Sub
'geht weiter zum nächsten Datensatz - fertig
Private Sub ButtonNächste_Click()
Zeile = Zeile + 1
Call UserForm_Initialize
End Sub
'Geht zurück zum vorherigen Datensatz - fertig
Private Sub ButtonVorherige_Click()
If Zeile > 2 Then
Zeile = Zeile - 1
Call UserForm_Initialize
End If
End Sub
'Geht zum ersten freien Datensatz - geht noch nicht
Private Sub ButtonNeu_Click()
Dim last As Integer
Sheets("Hausverwaltungen").Visible = True
Sheets("Hausverwaltungen").Select
last = Sheets("Hausverwaltungen").Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveWindow.SelectedSheets.Visible = False
End Sub
'Fehlermeldung, wenn versucht wird, die UserForm über das
'Schließenkreuz oben rechts zu schließen - fertig
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
MsgBox "Bitte verlassen Sie die Eingabemaske" & vbLf & "nur mit der Schaltfläche - Schließen.", _
vbOKOnly + vbInformation, "Bitte betätigen."
Cancel = 1
End If
End Sub