Code Ändern
#1
Hallo Guten Abend Zusammen
Wie Kann ich den Code ändern Das er für alle Monate gilt
 
Die Monate habe ich in eine Combobox eingefügt bei klick wird  die Tabelle mit dem Monat aktiviert.
Private Sub btnAnlegen_Click() 
  'TabellenZeile hinzufügen
  With Tabelle1.ListObjects("tbl_Jan").ListRows.Add
   'Tabellenzeile befüllen
  .Range(, 1).Value = txtDatum.Value
  .Range(, 2).Value = CBMonat.Value
  .Range(, 3).Value = CbName.Value
  .Range(, 4).Value = txtGewicht.Value
  End With
End Sub
Private Sub btnSchließen_Click()
Unload UfPersonal
End Sub
Private Sub CBMonat_Change()
Worksheets(CBMonat.Text).Select
End Sub
Private Sub UserForm_Initialize()
  'Combobox befüllen
  CBMonat.List = Array("Januar", "Februar", "März", "Apri", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")
  CbName.List = Array("Manuela", "Sabine", "Johannes", "Wolfgang")
      ' Setzt das aktuelle Datum in TextBox1
    Me.txtDatum.Value = Format(Date, "dd.mm.yyyy")
 
End Sub
Antworten Top
#2
Hallo,

Code:
With Tabelle1.ListObjects("tbl_" & Format(DateValue("1/" & CBMonat & "/1"), "mmm")).ListRows.Add

Gruß, Uwe
Antworten Top
#3
Erst einmal vielen Dank für dein Antwort

Hallo Uwe
Geht nicht
Habe mal das Beispiel Hochgeladen um viel Schreibereien zu vermeiden.
 
Bei meinen Beispiel wird es In Tabelle Januar eingefügt wenn ich jetzt einen anderen Monat Aktiviere wird nichts eingefügt-

Habe die with Anweisung kubiert  den tabellen1 geändert in Tabelle2 die Ander Tabelle In tbl_feb geändert und ein 2 mal ein End with eingefügt Dann schreibt er es in Beide Tabellen rein.
 Das soll nicht sein.  immer in der aktiven Tabelle schreiben
 Grus Molle


Angehängte Dateien
.xlsm   UserForm Daten In Tabelle.xlsm (Größe: 54,5 KB / Downloads: 7)
Antworten Top
#4
Hallo,

so:

Code:
Private Sub btnAnlegen_Click()
    Tabelle1.ListObjects("tbl_Jan").ListRows.Add.Range.Resize(1, 4) = Array(txtDatum, CBMonat, CbName, txtGewicht)
End Sub
Das reicht völlig aus.

Gruß Uwe
Antworten Top
#5
Hallo Molle,

Code:
Private Sub btnAnlegen_Click()
  
  'TabellenZeile hinzufügen
  With ActiveSheet.ListObjects(1).ListRows.Add
   'Tabellenzeile befüllen
  .Range(, 1).Value = txtDatum.Value
  .Range(, 2).Value = CBMonat.Value
  .Range(, 3).Value = CbName.Value
  .Range(, 4).Value = txtGewicht.Value
  End With

End Sub

Gruß, Uwe
Antworten Top
#6
Hallo Uwe
Es funktioniert
Nochmals Dank
Antworten Top
#7
Besser noch: alle Daten in 1 Arbeitsblatt.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 2 Nutzer sagen Danke an snb für diesen Beitrag:
  • Klaus-Dieter, derHoepp
Antworten Top
#8
(21.01.2025, 12:21)snb schrieb: Besser noch: alle Daten in 1 Arbeitsblatt.

Das ist ja langweilig. 05

Gruß, Uwe
Antworten Top
#9
Hallo Molle,

um mit der Monatsauswahl (CBMonat ) gleich die richtige Tabelle anzusteuern kann man es so machen:
Code:
Private Sub btnAnlegen_Click()
    If CBMonat.ListIndex = -1 Then Exit Sub
    Sheets(CBMonat.ListIndex + 1).ListObjects("tbl_" & Left(CBMonat, 3)).ListRows.Add.Range.Resize(1, 4) = Array(txtDatum, CBMonat, CbName, txtGewicht)
End Sub
Und es verhindert bei versehentlicher Nichtauswahl des Monats ein Schreiben in die falsche Tabelle.

Gruß Uwe
Antworten Top


Gehe zu:


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