Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Werte aus Textboxen an Tabelle
#1
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?
Top
#2
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

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#3
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
Top
#4
Hallo Uwe,

stimmt ... ich habe auf den "." vor Textbox nicht geachtet.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#5
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
Top
#6
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?
Gruß Stefan
Win 10 / Office 2016
Top
#7
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
Top
#8
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.


Angehängte Dateien
.xlsm   BK_Test.xlsm (Größe: 32,63 KB / Downloads: 10)
Top
#9
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
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Bernie
Top
#10
Hallo Bernie,

warum fragst Du eigentlich, wenn Du die Fehlerberichtigungen gar nicht übernimmst
und dann behauptest, das diese alle nicht weiterhelfen??!!

Gruß Uwe
Top


Gehe zu:


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