Userform
#11
Hallo,

man soll es vorher doch mal vollständig testen. Es muss erst auf Datum und dann auf Zahl geprüft werden.
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 IsDate(arrCnt(i - 1)) Then
            arrNeu(1, i) = CDate(arrCnt(i - 1))
        ElseIf IsNumeric(arrCnt(i - 1)) Then
            arrNeu(1, i) = CDbl(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

Gruß Uwe
Antworten Top
#12
Irgendwie sehe ich auch bei dem Array-Code nicht wirklich durch. Sorry

Eintragen kann ich an jeder stelle was ich will, er speichert alles.

Auch die Schadensnummer ist nicht ####
Antworten Top
#13
Hallo,

soll die Schadensnummer 0001 --> 0002 usw. sein?
Wenn ja, nur in der Textbox oder nur in der Tabelle oder in Beiden.
Wenn Einschränkungen in den Textboxen vorgenommen werden sollen, muss dies in den gewünschten Textboxen vorgenommen werden. Dazu gibt es jede Menge Beispiele im Netz.
Das was ich zusammengestellt hatte ist ein recht effizienter Weg die Daten in die Tabelle zu bekommen.

für die Textbox so:
Code:
txt_schadennummer = Format(WorksheetFunction.Max(Tabelle1.Columns(1)) + 1, "0000")
Tabelle Spalte A markieren --> Zellen formatieren --> benutzerfefiniert --> 0000


Gruß Uwe
Antworten Top
#14
@ Egon12 

Erstmal vielen Dank.

Werde mir einen anderen Code besorgen.

Das funzt garnicht mit der Formatierung.

Schadensnummer bleibt einstellig in den Userform.

Datum kann man auch eingeben wie man will, egal ob die Tabelle formatiert ist.

Vielen Dank

Danke für Eure Hilfe.

Hab es jetzt mit basteln hinbekommen.
Antworten Top
#15
Erstmal nochmals vielen Dank füe deine Hilfe!

Nun habe ich noch eine Frage, gibt es eine Möglichkeit in Deinen speichercode mehrere DTPicker1 im UserForm einzubauen.

In der UserForm rein ist ja kein Problem, nur mit dem speichern, da er ja anscheinend nur mit Textboxen umgehen kann.

Vielen Dank
Antworten Top
#16
Hallo,

du meinst sicherlich das Microsoft Date and Time Picker Control 6.0.
Vermutlich muss man sicherlich nur das entsprechende Control zuweisen, wo das Datum hin soll.

Da kann ich dir nicht weiterhelfen, da ich keine 32 bit Office Version nutze.

Wenn es nicht unbedingt dieser sein soll, kann ich dir meinen selbst geschriebenen Einbauen.

Wenn du selbst mal dein Glück versuchen willst:

Date Picker AddIn und Stand Alone

Gruß Uwe
Antworten Top
#17
Siehe Screen!


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#18
in VBA

Code:
For Each it In Controls
  If InStr("TextBoxComboBox", TypeName(it)) Then it = ""
Next

und

Code:
sheets(1).cells(rows.count,1).end(xlup).offset(1).resize(,20)=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#19
Dankeschön!

Aber bringt nix mit dem DataPcker.  Der zeigt immer das aktuelle datum an. Leer kann man Ihn nicht lassen.

Jetzt habe ich allerdings festgestellt, das dieser Code nicht wirklich funzt.
Code:
Private Sub txt_schadennummer_AfterUpdate()

   txt_schadennummer = Format(txt_schadennummer, "0000")
   txt_schaden_wann = Format(txt_schaden_wann, "dd,mm,yyyy")
   txt_datumheute = Format(txt_datumheute, "dd,mm,yyyy")
   txt_datum_erledigung = Format(txt_datum_erledigung, "dd,mm,yyyy")

End Sub

Wenn die Zellen in der Speichertabelle nicht Datum formatiert sind, dann äbdert er auch mit diesem Code nix.
Antworten Top
#20
Hallo,
 
warum gibst du so schnell auf. Ich hatte dir ja einen Link gezeigt, wo du einen Datepicker zum Einbauen findest.
 
Ich habe das mal in deiner Datei gemacht.
Vorgehensweise: Klicke in die Textbox, wo das Datum rein soll. Da erscheint der DropButton. Wenn du diesen anklickst wird der Datepicker gestartet.
Wähle darin dein Datum aus.

.xlsm   Userform.xlsm (Größe: 89,56 KB / Downloads: 2)
 
Gruß Uwe
Antworten Top


Gehe zu:


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