Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform TextBox in Tabelle eintragen

Userform TextBox in Tabelle eintragen
02.03.2016 11:43:10
Pascal
allo zusammen,
Ich versuche gerade mit einer kleinen Userform mit 2 Textboxen eine bestehende Formatierte Tabelle zu befüllen.
Es soll einfach der Inhalt aus der ersten TextBox in die erste freie zelle in der Spalte B (heisst in dem List Object SKU)
Und der Inhalt der zweiten Textbox soll in die Spalte K
mit meinem bisherigen Code wir immer erst unterhalb der formatierten Tabelle angefangen zu schreiben.
kann mir jemand helfen? damit direkt in die Tabelle geschrieben wird.
Code:

  • Private Sub CB_OK_Click()
    Dim wks As Worksheet
    Dim lngZeile  As Long
    Set wks = ThisWorkbook.Worksheets("Manuell")
    lngZeile = Cells(Rows.Count, 2).End(xlUp).Row + 1
    wks.Cells(lngZeile, 2).Value = TextBox1.Value
    wks.Cells(lngZeile, 11).Value = TextBox2.Value
    End Sub
    

  • Beste Grüße
    Pascal

    Anzeige

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Userform TextBox in Tabelle eintragen
    02.03.2016 12:38:47
    Mullit
    Hallo,
    'ListObject' ist genau das Stichwort:
    Option Explicit
    Private Sub CB_OK_Click()
    With ThisWorkbook.Worksheets("Manuell").ListObjects(1)
    With .ListRows
    Call .Add(Position:=.Count + 1)
    End With
    .DataBodyRange(.ListRows.Count, .ListColumns(2).Index).Value = TextBox1.Value '//  _
    Spalte B
    .DataBodyRange(.ListRows.Count, .ListColumns(11).Index).Value = TextBox2.Value '//  _
    Spalte K
    End With
    End Sub
    

    Gruß, Mullit

    Anzeige
    AW: Userform TextBox in Tabelle eintragen
    02.03.2016 13:04:42
    Pascal
    Super,
    Danke

    AW: Userform TextBox in Tabelle eintragen
    02.03.2016 13:55:31
    Mullit
    Hallo,
    ...prima, so ist's noch besser:
    Option Explicit
    Private Sub CB_OK_Click()
    With ThisWorkbook.Worksheets("Manuell").ListObjects(1).ListRows
    With .Add(Position:=.Count + 1)
    .Range(1, 2).Value = TextBox1.Value '// Spalte B
    .Range(1, 11).Value = TextBox2.Value '// Spalte K
    End With
    End With
    End Sub
    

    Gruß, Mullit

    Anzeige
    AW: Userform TextBox in Tabelle eintragen
    02.03.2016 12:54:34
    Mullit
    Hallo,
    ähh, der Spaltenindex war jetzt irgendwie doppeltgemoppelt....
    Option Explicit
    Private Sub CB_OK_Click()
    With ThisWorkbook.Worksheets("Manuell").ListObjects(1)
    With .ListRows
    Call .Add(Position:=.Count + 1)
    End With
    .DataBodyRange(.ListRows.Count, 2).Value = TextBox1.Value '// Spalte B
    .DataBodyRange(.ListRows.Count, 11).Value = TextBox2.Value '// Spalte K
    End With
    End Sub
    

    Gruß, Mullit
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige
    Anzeige

    Infobox / Tutorial

    Userform TextBox in Tabelle eintragen


    Schritt-für-Schritt-Anleitung

    Um mit VBA eine Userform zu erstellen, die Daten aus TextBoxen in eine Excel-Tabelle einträgt, befolge diese Schritte:

    1. Userform erstellen: Öffne den VBA-Editor (Alt + F11) und füge eine neue Userform hinzu.

    2. TextBoxen hinzufügen: Füge zwei TextBoxen hinzu (z.B. TextBox1 und TextBox2) sowie einen Button (z.B. CB_OK).

    3. Code einfügen: Verwende den folgenden VBA-Code, um die Werte aus den TextBoxen in die Tabelle zu schreiben:

      Option Explicit
      
      Private Sub CB_OK_Click()
         With ThisWorkbook.Worksheets("Manuell").ListObjects(1)
             With .ListRows
                 Call .Add(Position:=.Count + 1)
                 .Item(.Count).Range(1, 2).Value = TextBox1.Value '// Spalte B
                 .Item(.Count).Range(1, 11).Value = TextBox2.Value '// Spalte K
             End With
         End With
      End Sub
    4. Userform testen: Schließe den VBA-Editor und teste die Userform. Gib Werte in die TextBoxen ein und klicke auf den Button, um die Werte in die Tabelle einzutragen.


    Häufige Fehler und Lösungen

    • Fehler: Werte werden unterhalb der Tabelle eingetragen
      Lösung: Stelle sicher, dass du die ListObjects-Methode verwendest. Sie ermöglicht es, direkt in die formatierte Tabelle zu schreiben.

    • Fehler: Der Spaltenindex ist nicht korrekt
      Lösung: Achte darauf, dass du den richtigen Spaltenindex verwendest. In der Tabelle entspricht Spalte B dem Index 2 und Spalte K dem Index 11.


    Alternative Methoden

    Eine alternative Methode, um Daten aus einer Userform in eine Tabelle einzutragen, besteht darin, die Cells-Methode zu verwenden. Hier ist ein Beispiel:

    Private Sub CB_OK_Click()
        Dim lngZeile As Long
        Dim wks As Worksheet
        Set wks = ThisWorkbook.Worksheets("Manuell")
    
        lngZeile = wks.Cells(Rows.Count, 2).End(xlUp).Row + 1
        wks.Cells(lngZeile, 2).Value = TextBox1.Value
        wks.Cells(lngZeile, 11).Value = TextBox2.Value
    End Sub

    Diese Methode ist weniger flexibel, wenn du mit formatierten Tabellen arbeitest, eignet sich aber gut für einfache Listen.


    Praktische Beispiele

    1. Daten in eine Produktliste eintragen: Wenn du eine Liste von Produkten hast, kannst du mithilfe der Userform Produktnamen und Preise in die entsprechenden Spalten eintragen.

    2. Kundendaten erfassen: Eine Userform kann verwendet werden, um Kundendaten wie Name und E-Mail-Adresse in einer Tabelle zu sammeln.


    Tipps für Profis

    • Datenvalidierung: Implementiere eine einfache Datenvalidierung in deiner Userform, um sicherzustellen, dass die Eingaben korrekt sind, bevor du sie in die Tabelle einträgst.

    • Benutzerfreundlichkeit: Füge Beschriftungen (Labels) zu deinen TextBoxen hinzu, um den Nutzern zu helfen, welche Informationen sie eingeben sollen.

    • Automatisierung: Überlege, ob du zusätzliche Funktionen einbauen möchtest, um die Datenverarbeitung zu automatisieren (z.B. durch die Verwendung von Dropdown-Listen).


    FAQ: Häufige Fragen

    1. Wie kann ich die Userform in Excel starten?
    Du kannst die Userform über einen Button in der Arbeitsmappe oder über ein Makro starten.

    2. Was mache ich, wenn die Tabelle nicht existiert?
    Stelle sicher, dass die Tabelle mit dem Namen "Manuell" in deinem Arbeitsblatt vorhanden ist. Ansonsten musst du die Tabelle erstellen oder den Namen im Code ändern.

    3. Kann ich mehr als zwei TextBoxen verwenden?
    Ja, du kannst beliebig viele TextBoxen hinzufügen. Achte darauf, im Code die entsprechenden Spalten indizieren.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige