Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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?
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten 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.
Antworten 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
Antworten 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.
Antworten 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
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten 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
Antworten 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
Antworten 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)
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten 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
Antworten 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
Antworten Top


Gehe zu:


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