VBA Dateneingabe in Maske - auch alte Daten verändern
#1
Hallo zusammen,

ich brauche mal eure Hilfe :)

Ich habe eine Excel Datei erstellt, in der Eine Maske aufgerufen wird, in welcher man dann durch Textfelder verschiedene eingaben machen kann. Durch "Speichern" (Command Button) werden die Daten dann in eine neue Zeile in meiner Tabelle gespeichert (ab da verwende ich sie dann weiter für meine Auswertung). Das klappt super. Jetzt würde ich es aber gerne so machen, dass ich nicht nur neue Daten eintragen kann, sondern mir in der Maske auch die alten Danten aufrufen und ggf. verändern kann (über das Datum). Am Besten wahrscheinlich mit einem Listen/Kombinationsfeld welches mir die alten "Datums" der bereits angelegten Daten anzeigt und nach einer auswahl in den Textboxen dann auch dei alten Daten erscheinen lässt.

Hat mir jemand einen Tipp?

Hier seht ihr wie ich bis jetzt gearbeitet habe und wie die Maske bis jetzt aussieht:

Danke schomal :)
Grüße
David

Code:
Private Sub CommandButton1_Click()
   Dim lZeile  As Long

  With ThisWorkbook.Worksheets("NeuesTraining")   ' den Tabellenblattnamen ggf. anpassen
     lZeile = .Cells(Rows.Count, 3).End(xlUp).Row + 1
     If lZeile < 1 Then lZeile = 1
     
       
               Range("A" & lZeile).Value = TextBox1.Value
               Range("B" & lZeile).Value = TextBox2.Value
               Range("C" & lZeile).Value = TextBox3.Value
               Range("D" & lZeile).Value = TextBox4.Value
               Range("E" & lZeile).Value = TextBox5.Value
               Range("F" & lZeile).Value = TextBox6.Value
               Range("G" & lZeile).Value = TextBox7.Value
               Range("H" & lZeile).Value = TextBox8.Value
               Range("I" & lZeile).Value = TextBox9.Value
               Range("J" & lZeile).Value = TextBox10.Value
               Range("K" & lZeile).Value = TextBox11.Value
               Range("L" & lZeile).Value = TextBox12.Value
               Range("M" & lZeile).Value = TextBox13.Value
               Range("N" & lZeile).Value = TextBox14.Value
               Range("O" & lZeile).Value = TextBox15.Value
               Range("P" & lZeile).Value = TextBox16.Value
               Range("Q" & lZeile).Value = TextBox17.Value
               Range("R" & lZeile).Value = TextBox18.Value
               Range("S" & lZeile).Value = TextBox19.Value
               Range("T" & lZeile).Value = TextBox20.Value
               Range("U" & lZeile).Value = TextBox22.Value
               Range("V" & lZeile).Value = TextBox23.Value
               Range("W" & lZeile).Value = TextBox25.Value
               Range("X" & lZeile).Value = TextBox26.Value
               Range("Y" & lZeile).Value = TextBox28.Value
               Range("Z" & lZeile).Value = TextBox29.Value
               Range("AA" & lZeile).Value = TextBox31.Value
               Range("AB" & lZeile).Value = TextBox32.Value
               Range("AC" & lZeile).Value = TextBox33.Value
               Range("AD" & lZeile).Value = TextBox34.Value
               Range("AE" & lZeile).Value = TextBox35.Value
               Range("AF" & lZeile).Value = TextBox36.Value
               Range("AG" & lZeile).Value = TextBox37.Value
               Range("AH" & lZeile).Value = TextBox38.Value
               Range("AI" & lZeile).Value = TextBox39.Value
               Range("AJ" & lZeile).Value = TextBox40.Value
               Range("AK" & lZeile).Value = TextBox41.Value
               Range("AL" & lZeile).Value = TextBox42.Value
               Range("AM" & lZeile).Value = TextBox43.Value
               Range("AN" & lZeile).Value = TextBox44.Value
               Range("AO" & lZeile).Value = TextBox45.Value
               Range("AP" & lZeile).Value = TextBox46.Value
               Range("AQ" & lZeile).Value = TextBox47.Value
               Range("AR" & lZeile).Value = TextBox48.Value
               Range("AS" & lZeile).Value = TextBox49.Value
               Range("AT" & lZeile).Value = TextBox50.Value
               Range("AU" & lZeile).Value = TextBox52.Value
               Range("AV" & lZeile).Value = TextBox53.Value
               Range("AW" & lZeile).Value = TextBox55.Value
               Range("AX" & lZeile).Value = TextBox56.Value
               Range("AY" & lZeile).Value = TextBox58.Value
               Range("AZ" & lZeile).Value = TextBox59.Value
               Range("BA" & lZeile).Value = TextBox61.Value
               Range("BB" & lZeile).Value = TextBox62.Value
               Range("BC" & lZeile).Value = TextBox63.Value
               Range("BD" & lZeile).Value = TextBox64.Value
               Range("BE" & lZeile).Value = TextBox65.Value
               Range("BF" & lZeile).Value = TextBox66.Value
               Range("BG" & lZeile).Value = TextBox67.Value
               Range("BH" & lZeile).Value = TextBox68.Value
               Range("BI" & lZeile).Value = TextBox69.Value
               Range("BJ" & lZeile).Value = TextBox70.Value
               Range("BK" & lZeile).Value = TextBox71.Value
               Range("BL" & lZeile).Value = TextBox72.Value
               Range("BM" & lZeile).Value = TextBox73.Value
               Range("BN" & lZeile).Value = TextBox74.Value
               Range("BO" & lZeile).Value = TextBox75.Value
               Range("BP" & lZeile).Value = TextBox76.Value
               Range("BQ" & lZeile).Value = TextBox77.Value
               Range("BR" & lZeile).Value = TextBox78.Value
               Range("BS" & lZeile).Value = TextBox79.Value
               Range("BT" & lZeile).Value = TextBox80.Value
               Range("CB" & lZeile).Value = TextBox82.Value
               Range("BU" & lZeile).Value = TextBox83.Value
               Range("BV" & lZeile).Value = TextBox85.Value
               Range("CA" & lZeile).Value = TextBox86.Value
               Range("BW" & lZeile).Value = TextBox88.Value
               Range("BX" & lZeile).Value = TextBox89.Value
               Range("BY" & lZeile).Value = TextBox91.Value
               Range("BZ" & lZeile).Value = TextBox92.Value
               
     Dim pt As PivotTable
   For Each pt In Worksheets("Auswertung TW3").PivotTables
 
     pt.RefreshTable
  Next pt
 
  For Each pt In Worksheets("Auswertung TW1").PivotTables
       pt.RefreshTable
  Next pt
 
  For Each pt In Worksheets("Auswertung TW2").PivotTables
       pt.RefreshTable
  Next pt
 
 
  End With
 
   Unload Me
   
End Sub
[img]file:///C:/Users/fussballschule/Desktop/Bild1.png[/img]


Angehängte Dateien Thumbnail(s)
   
Top
#2
Hi

mit einer Beispieldatei die 2 bis 3 Datensätze enthält wäre das sicher zu realisieren
wer möchte denn eine Userform mit 92 TextBoxen nachbauen...?

MfG Tom
Top
#3
Moin David!
Nur meine Meinung:
Ein Userform mit mehr als ~10 TextBoxes lohnt den Aufwand in keinster Weise.
Dafür nimmt man ein "Formular"-Tabellenblatt und arbeitet mit CommandButtons oder auch Formularsteuerelementen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Hallo Tom, Hallo Ralf,

danke erstmal für eure Antworten.

@Ralf ich versteh leider nicht ganz was du meinst. Bin kein Excel Experte.

@ Tom ich habe die Beispiel Datei im Anhang hochgeladen. Wenns ein Kombofeld geben würde in dem man nach Datum die alten Daten anschauen kann (evtl. mit Uhrzeit aber nicht zweingend notwendig, dann die alten Daten bearbeiten oder sogar löschen könnte). Wäre klasse.
Danke schon mal für deine Hilfe :)

Grüße
David


Angehängte Dateien
.xlsm   Analyse Torwarttraining Excel Forum Bsp.xlsm (Größe: 41,52 KB / Downloads: 22)
Top
#5
Hat jemand eine Idee   Huh
Top
#6
... hier ist auch noch was zu tun ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#7
noch nicht :(?
Top
#8
Hallo David,

meine Idee wäre zwei Listboxen in Deiner Userform zu verwenden.
In der einen lässt Du Dir die Daten des Manschaftstrainigs anzeigen, in der anderen die Daten der Torwarttrainigs.
Ein paar Textboxen wirst Du immer noch benötigen aber nicht mehr in der Menge.

In der Listbox kannst Du über das Klick-Event einzelne Einträge auswählen und diese an die Textboxen übergeben und dort dann auch ändern.

So weit meine Idee.

Eine Beispieldatei von Dir mit der aktuellen Struktur wäre aber sehr hilfreich beim Helfen :32:.

Gruß
Ich
Top
#9
Hallo David,

ich habe mich mal ein wenig an Deiner Tabelle versucht.

Zunächst ist mir aufgefallen, dass diese extrem umfangreich ist. Ich habe also eine neue Tabelle angelegt  und auf "diverse" Spalten verzichtet.
Deine Ursprungstabelle ist nur ausgeblendet und nicht gelöscht. Ich denke aber die Erfassung in weniger Spalten macht Sinn.
Die Spalte "Art" wird von meiner Userform noch nicht bedient. Ich hatte keine Idee was Du damit meinen könntest Huh .
Ich habe eine Tabelle "Parameter" angelegt. Auf diese greifen die Comboboxen zur Befüllung zurück. Da es Listen sind,
kannst Du sie nach belieben erweitern. Die Comboboxen zeigen dann die ergänzten Einträge.

Zur Bedienung meiner Userform:
Entweder Du wählst aus der Listbox einen Eintrag und editierst diesen dann in den entsprechenden Feldern oder
Du legst ein neues Training an, indem Du einfach den unteren Teil der Userform nutzt.

Ich bin mir sicher es gibt noch ein ein paar Unwägbarkeiten. Du hast aber auch nicht viel Input da gelassen.

Teste einfach mal.


.xlsm   Analyse Torwarttraining Excel Forum Bsp_Ich.xlsm (Größe: 55,15 KB / Downloads: 15)


@ All:
Ich habe etwas Schwierigkeiten beim (Zurück)schreiben der Dauer wenn diese geändert wird, also nicht mehr das Format (hh:mm:ss) hat, bzw. nicht im Format (mm) einegegben.
Da habe ich im Moment etwas "gemogelt". Würde mich freuen wenn sich das jemand von Euch anschaut und mir einen Tipp gibt wie das sauber zu lösen ist.

Danke und Gruß
Ich
Top
#10
Hallöchen,

mit den Calendar-Controls könnte der Fragesteller Probleme bekommen ... Ersatzweise habe ich auch was in Petto:
http://www.xltips.de/ftxt/lnk-dow/DatePicker.htm

   
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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