ich möchte nach Klick auf den Command_Button "cb_send" Eingabewerte aus einer
Userform in eine Tabelle schreiben.
In Abhängigkeit der eingegebenen Werte sollen die Daten entweder in das Tabllenblatt
"data_booked" oder in "data_planned" geschrieben werden, und zwar immer am Ende. Also
erste freie Zeile.
Nachfolgender Code funktioniert wunderbar. Alles was mich stört ist das "ws.Activate".
Er soll die Daten quasi im Hintergrund in die Tabelle schreiebn, ohne das man etwas sieht.
Lasse ich das ws.Activate einfach weg, dann rafft er nicht, in welchem tabellenblatt er nach der
ersten freien Zeile suchen soll . . .
Habt Ihr eine Idee ?
Option Explicit
Private Sub cb_send_Click()
Dim newRow As Long
Dim ws As Worksheet
'Je nach Auswahl im TabStrip1 sollen die Eingaben in ein bestimmtes Tabellenblatt geschrieben _
werden
If TabStrip1.Value = 0 Then Set ws = Worksheets("data_booked")
If TabStrip1.Value = 1 Then Set ws = Worksheets("data_booked")
If TabStrip1.Value = 2 Then Set ws = Worksheets("data_planned")
If TabStrip1.Value = 3 Then Set ws = Worksheets("data_planned")
ws.Activate ' Das ist mein Problem. Er soll nicht auf dieses Blatt wechseln!
For newRow = 1 To Range("A65536").End(xlUp).Row: Next
'Werte aus Textboxen ins Tabellenblatt übertragen
ws.Cells(newRow, 1).Value = Me.Tb_kat1.Value
ws.Cells(newRow, 2).Value = Me.Tb_month1.Value
ws.Cells(newRow, 3).Value = Me.tb_dat1.Value
ws.Cells(newRow, 4).Value = Me.tb_cust1.Value
ws.Cells(newRow, 5).Value = Me.Tb_mat1.Value
ws.Cells(newRow, 6).Value = Me.Tb_mg1.Value
ws.Cells(newRow, 7).Value = Me.Tb_comments1.Value
If Tb_mat2.Value = "" Then GoTo ende Else:
ws.Cells(newRow + 1, 1).Value = Me.Tb_kat2.Value
ws.Cells(newRow + 1, 2).Value = Me.Tb_month2.Value
ws.Cells(newRow + 1, 3).Value = Me.Tb_dat2.Value
ws.Cells(newRow + 1, 4).Value = Me.Tb_cust2.Value
ws.Cells(newRow + 1, 5).Value = Me.Tb_mat2.Value
ws.Cells(newRow + 1, 6).Value = Me.Tb_mg2.Value
ws.Cells(newRow + 1, 7).Value = Me.Tb_comments2.Value
ende:
Unload UserForm1
End Sub