Hallo zusammen,
finde leider meine Fehler nicht und brauche Hilfe.
Ich lade aus Tabelle "Kürzel" Daten in UF "frm_Kürzel" in eine Listbox. Beim anklicken einer Zeile der Listbox werden die Werte in Textboxen eingelesen, soweit funktioniert alles.
Nun möchte ich die Werte aus den Textboxen in einen andere Tabelle übertragen und das bekomme ich nicht hin. Hier mein Code:
Code:
Private Sub cmd_Neu_Click()
Dim lng As Long
On Error Resume Next
With Worksheets("Depot")
lng = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Rows.Row
Cells(lng, 1).Value = .TextBox1.Value
Cells(lng, 2).Value = .TextBox2.Value
Cells(lng, 3).Value = .TextBox3.Value
Cells(lng, 4).Value = .TextBox4.Value
Cells(lng, 5).Value = .TextBox5.Value
Cells(lng, 6).Value = .TextBox6.Value
End With
End Sub
Wo liegt mein Fehler?
Hallo Bernie,
mal aus dem Bauch geschossen, da ich ja eigentlich nicht mehr mit Excel mache. Entweder:
.Cells(lng, 1).Value = .TextBox1.Value
oder
Sheets("Tabelle2").Cells(lng, 1).Value = .TextBox1.Value
Gruß
Marcus
Hallo Bernie,
anstatt
Cells(lng, 1).Value = .TextBox1.Value
so
.Cells(lng, 1).Value = TextBox1.Value
denn der Punkt bezieht sich ja auf
With Worksheets("Depot")
Gruß Uwe
Hallo Uwe,
stimmt ... ich habe auf den "." vor Textbox nicht geachtet.
Gruß
Marcus
Hallo Marcus,
Erstmal recht♥lichen Glückwunsch nachträglich zum Geburtstag!!!!!!!!!
Leider funktioniert der Vorschlag nicht, ebenso der von wenig der Vorschlag von Uwe.
Ich hab das Gefühl, dass der Inhalt der Textboxen nicht erkannt wird, da ich sie bei click aus der Listbox einlese.
Deshalb hier der gesamte Code:
Code:
Private Sub UserForm_Initialize()
Dim tbl_Kürzel As Worksheet
Set tbl_Kürzel = Worksheets("Kürzel")
With frm_Kürzel
.Label1.Caption = tbl_Kürzel.Cells(1, 1).Value
.Label2.Caption = tbl_Kürzel.Cells(1, 2).Value
.Label3.Caption = tbl_Kürzel.Cells(1, 3).Value
.Label4.Caption = tbl_Kürzel.Cells(1, 4).Value
.Label5.Caption = tbl_Kürzel.Cells(1, 5).Value
.Label6.Caption = tbl_Kürzel.Cells(1, 6).Value
.ListBox1.List = tbl_Kürzel.Range("A2:F141").Value
.ListBox1.ColumnCount = 6
.ListBox1.ColumnWidths = "70;120;200;70;140;60"
.TextBox1.SetFocus
End With
frm_Kürzel.Label7.Caption = frm_Kürzel.Label1.Caption
frm_Kürzel.Label8.Caption = frm_Kürzel.Label2.Caption
frm_Kürzel.Label9.Caption = frm_Kürzel.Label3.Caption
frm_Kürzel.Label10.Caption = frm_Kürzel.Label4.Caption
frm_Kürzel.Label11.Caption = frm_Kürzel.Label5.Caption
frm_Kürzel.Label12.Caption = frm_Kürzel.Label6.Caption
End Sub
Private Sub ListBox1_Click()
'Dim lng As Integer
Sheets("Kürzel").Activate
'lng = frm_Kürzel.ListBox1.Column(6)
With frm_Kürzel
TextBox1.Value = Cells(2, 1).Value
TextBox2.Value = Cells(2, 2).Value
TextBox3.Value = Cells(2, 3).Value
TextBox4.Value = Cells(2, 4).Value
TextBox5.Value = Cells(2, 5).Value
TextBox6.Value = Cells(2, 6).Value
End With
End Sub
Private Sub cmd_Neu_Click()
Dim lng As Long
On Error Resume Next
With Worksheets("Depot")
lng = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Rows.Row
.Cells(lng, 1).Value = TextBox1.Value
.Cells(lng, 2).Value = TextBox2.Value
.Cells(lng, 3).Value = TextBox3.Value
.Cells(lng, 4).Value = TextBox4.Value
.Cells(lng, 5).Value = TextBox5.Value
.Cells(lng, 6).Value = TextBox6.Value
End With
End Sub
Hallo,
IMHO fehlt hier
Code:
With frm_Kürzel
TextBox1.Value = Cells(2, 1).Value
TextBox2.Value = Cells(2, 2).Value
TextBox3.Value = Cells(2, 3).Value
TextBox4.Value = Cells(2, 4).Value
TextBox5.Value = Cells(2, 5).Value
TextBox6.Value = Cells(2, 6).Value
End With
noch der Tabellennamen vor den Cells. Und warum verwendest Du hier With wenn Du vor den Textboxen keinen Punkt setzt?
Hallo Bernie,
das hatte ich ganz übersehen, dass ja hier der Punkt auch fehlt:
lng = .Cells(Rows.Count, 1).End(xlUp).Row + 1
Gruß Uwe
Hallo zusammen,
leider komme ich nicht weiter, da keine der Vorschläge funktioniert hat und ich nicht weiss, ob noch woanders ein Fehler existiert.
Es sollte so funktionieren, erst in Listbox klicken um die Textboxen zu füllen, auf Button "Aktie ins Depot" klicken und Werte der Textboxen sollen ins Blatt "Depot" in die erste frei Zeile eingefügt werden. Ich hoffe, ich konnte mich klar ausdrücken und bedanke mich schon mal im Voraus.
Hallo,
teste mal
Code:
Private Sub ListBox1_Click()
'Dim lng As Integer
Sheets("Kürzel").Activate
'lng = frm_Kürzel.ListBox1.Column(6)
With frm_Kürzel
.TextBox1.Value = .ListBox1.List(ListBox1.ListIndex, 0)
.TextBox2.Value = .ListBox1.List(ListBox1.ListIndex, 1)
.TextBox3.Value = .ListBox1.List(ListBox1.ListIndex, 2)
.TextBox4.Value = .ListBox1.List(ListBox1.ListIndex, 3)
.TextBox5.Value = .ListBox1.List(ListBox1.ListIndex, 4)
.TextBox6.Value = .ListBox1.List(ListBox1.ListIndex, 5)
End With
End Sub
Private Sub cmd_Neu_Click()
Dim lng As Long
On Error Resume Next
With Worksheets("Depot")
lng = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lng, 1).Value = TextBox1.Value
.Cells(lng, 2).Value = TextBox2.Value
.Cells(lng, 3).Value = TextBox3.Value
.Cells(lng, 4).Value = TextBox4.Value
.Cells(lng, 5).Value = TextBox5.Value
.Cells(lng, 6).Value = TextBox6.Value
End With
End Sub
Hallo Bernie,
warum fragst Du eigentlich, wenn Du die Fehlerberichtigungen gar nicht übernimmst
und dann behauptest, das diese alle nicht weiterhelfen??!!
Gruß Uwe