Userform
#1
Hallo Ihr lieben.

Ich habe ein Problem, bzw. mehrere

1. Neue Einträge werden nicht gespeichert. Änderung geht.
2. Die Schadensnummer soll bzw. muss fortlaufend sein. (0001, 0002, 0003 usw.)
Sollte am besten die nächste Schadensnummer im Userform schon drin stehen.
3. Alle Textboxen mit Datumseingabe sollten formatiert gespeichert werden.
Ebenso wenn die Daten geändert werden

Vielen dank für Eure Hilfe


Angehängte Dateien
.xlsm   Userform.xlsm (Größe: 40,24 KB / Downloads: 12)
Antworten Top
#2
Hallo, um welches der beiden identischen? Formulare geht es denn?
Liebe Grüße Isa
Antworten Top
#3
input also zum Neuanlegen

Bin schon ewig am testen, auch dass er im Userform1 die Formatierung der Datumsangaben sowie
die schadensnummer in Form von ###0 anzeigt. 
Ihrgendwie bekomme ich es nicht hin.
Antworten Top
#4
Hallo, das andere zum Ändern? Das kann man mit einem Formular erschlagen.
Liebe Grüße Isa
Antworten Top
#5
wie soll ich das verstehen?
Antworten Top
#6
Hallo, du brauchst nur zwei Buttons, von denen einer die Änderung des angezeigten Datensatzes bewirkt, der andere legt einen neuen an. Das ist nur eine frage der angesteuerten Zeilennummer.
Liebe Grüße Isa
Antworten Top
#7
Hallo,

ändere so:
Code:
Private Sub UserForm_Initialize()
    txt_schadennummer = WorksheetFunction.Max(Tabelle1.Columns(1)) + 1
End Sub

Private Sub Speichern()
    Dim i&, arrNeu(1 To 1, 1 To 20), arrCnt(): arrCnt = Array(txt_schadennummer, txt_beschreibung_schaden, txt_schaden_wann, cbHaus_Ort, txt_lagebeschreibung, cbGrund, cbVerursacher, txt_name_verursacher, txt_zeile1_schadenshergang, txt_zeile2_schadenshergang, cbSchadensbeseitigung_durch, txt_firma, txt_zeile1_schadensbeseitigung, txt_zeile2_schadensbeseitigung, txt_zeile1_LDS, txt_zeile2_LDS, txt_datumheute, cbMitarbeiter, txt_datum_erledigung, txt_kosten)
    For i = 1 To UBound(arrCnt) + 1
        If IsNumeric(arrCnt(i - 1)) Then
            arrNeu(1, i) = CDbl(arrCnt(i - 1))
        ElseIf IsDate(arrCnt(i - 1)) Then
            arrNeu(1, i) = CDate(arrCnt(i - 1))
        Else
            arrNeu(1, i) = arrCnt(i - 1)
        End If
        Controls(arrCnt(i - 1).Name) = ""
    Next i
    Tabelle1.Cells(Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Resize(1, UBound(arrNeu, 2)) = arrNeu
End Sub

Private Sub cmd_Ok_Click()
    Speichern
End Sub

Gruß Uwe
Antworten Top
#8
Leider habe ich nicht wirklich viel Ahnung von VBA.

Dumme Frage, wo ändern? (Stelle)
Antworten Top
#9
hier die Datei.


Gruß Uwe

da hatte ich noch übersehen, dass die Nummer hochgezählt werden muss.
änder diese Prozedur so:
Code:
Private Sub Speichern()
    Dim i&, arrNeu(1 To 1, 1 To 20), arrCnt(): arrCnt = Array(txt_schadennummer, txt_beschreibung_schaden, txt_schaden_wann, cbHaus_Ort, txt_lagebeschreibung, cbGrund, cbVerursacher, txt_name_verursacher, txt_zeile1_schadenshergang, txt_zeile2_schadenshergang, cbSchadensbeseitigung_durch, txt_firma, txt_zeile1_schadensbeseitigung, txt_zeile2_schadensbeseitigung, txt_zeile1_LDS, txt_zeile2_LDS, txt_datumheute, cbMitarbeiter, txt_datum_erledigung, txt_kosten)
    For i = 1 To UBound(arrCnt) + 1
        If IsNumeric(arrCnt(i - 1)) Then
            arrNeu(1, i) = CDbl(arrCnt(i - 1))
        ElseIf IsDate(arrCnt(i - 1)) Then
            arrNeu(1, i) = CDate(arrCnt(i - 1))
        Else
            arrNeu(1, i) = arrCnt(i - 1)
        End If
        Controls(arrCnt(i - 1).Name) = ""
    Next i
    txt_schadennummer = WorksheetFunction.Max(Tabelle1.Columns(1)) + 1
    Tabelle1.Cells(Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Resize(1, UBound(arrNeu, 2)) = arrNeu
End Sub


Angehängte Dateien
.xlsm   Userform.xlsm (Größe: 33,86 KB / Downloads: 5)
Antworten Top
#10
Ich habe jetz die Formate angepasst.

Aber auch vorher speichert er es nur als Text .

Private Sub txt_schadennummer_AfterUpdate()

  txt_schadennummer = Format(txt_schadennummer, "####")
  txt_schaden_wann = Format(txt_schaden_wann, "##.##.####")
  txt_datumheute = Format(txt_datumheute, "##.##.####")
  txt_datum_erledigung = Format(txt_datum_erledigung, "##.##.####")

End Sub

Ohne Auswirkung
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste