Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten über Formular in Tabelle VBA

Daten über Formular in Tabelle VBA
andreas
Hallo zusammen,
habe hier eine Anwendung, rufe über CommandButton ein Eingabeformular mit Kundendaten auf.
Problem1 die Combox Geschlecht soll mit Wert "Herr" und "Frau" zur Auswahl gefüllt werden.
Problem2 die eingetragenen Werte sollen bei drücken von Button "Übernehmen" in die erste leere Zeile der Kundenliste übernommen werden, und es soll auch überprüft werden ob der Wert "Kundenname" in Spalte "A" der Kundenliste schon vorkommt, wenn ja Fehlermeldung "Kunde schon angelegt" danach abbruch.
https://www.herber.de/bbs/user/69661.xls
bin für jede Hilfe dankbar
Gruß Andreas
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten über Formular in Tabelle VBA
20.05.2010 13:53:00
Rudi
Hallo,
Private Sub CommandButton1_Click()
With Sheets("Kundenliste").Cells(Rows.Count, 1).End(xlUp)
.Offset(1, 0) = TextBox1
.Offset(1, 1) = TextBox2
.Offset(1, 2) = TextBox3
.Offset(1, 3) = TextBox4
.Offset(1, 4) = ComboBox1
.Offset(1, 5) = TextBox6
.Offset(1, 6) = TextBox7
.Offset(1, 7) = TextBox8
End With
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Application.CountIf(Sheets("Kundenliste").Columns(1), TextBox1) > 0 Then
Cancel = True
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
MsgBox "Gibt es schon!"
End If
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Frau"
.AddItem "Herr"
End With
End Sub

Gruß
Rudi
Anzeige
AW: Daten über Formular in Tabelle VBA
21.05.2010 14:12:49
andreas
Hallo Rudi,
vielen Dank funktioniert einwandfrei
Gruß Andreas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Daten über ein Excel-Formular in eine Tabelle schreiben


Schritt-für-Schritt-Anleitung

Um Daten über ein Excel-Formular in eine Tabelle zu schreiben, kannst Du ein einfaches VBA-Formular erstellen. Hier sind die Schritte:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

  2. Erstelle ein Formular:

    • Gehe zu Entwicklertools > Visual Basic.
    • Füge im Projektfenster ein neues UserForm hinzu.
  3. Füge Steuerelemente hinzu:

    • Platziere Textfelder (TextBox) für die Eingaben und eine Kombobox (ComboBox) für die Auswahl des Geschlechts.
    • Füge einen CommandButton hinzu, um die Eingaben zu übernehmen.
  4. Code für das Formular:

    • Füge den folgenden VBA-Code in das UserForm ein, um die Daten in die Tabelle zu schreiben:
    Private Sub CommandButton1_Click()
       With Sheets("Kundenliste").Cells(Rows.Count, 1).End(xlUp)
           .Offset(1, 0) = TextBox1
           .Offset(1, 1) = TextBox2
           .Offset(1, 2) = TextBox3
           .Offset(1, 3) = TextBox4
           .Offset(1, 4) = ComboBox1
           .Offset(1, 5) = TextBox6
           .Offset(1, 6) = TextBox7
           .Offset(1, 7) = TextBox8
       End With
    End Sub
    
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       If Application.CountIf(Sheets("Kundenliste").Columns(1), TextBox1) > 0 Then
           Cancel = True
           TextBox1.SelStart = 0
           TextBox1.SelLength = Len(TextBox1)
           MsgBox "Kunde schon angelegt!"
       End If
    End Sub
    
    Private Sub UserForm_Initialize()
       With ComboBox1
           .AddItem "Frau"
           .AddItem "Herr"
       End With
    End Sub
  5. Testen:

    • Schließe den VBA-Editor und starte das Formular über den CommandButton.

Häufige Fehler und Lösungen

  • Fehler: Der Kunde wird nicht in die Tabelle geschrieben.

    • Lösung: Überprüfe, ob der richtige Sheetname (Kundenliste) verwendet wird.
  • Fehler: Keine Auswahl in der ComboBox.

    • Lösung: Stelle sicher, dass der Code zur Initialisierung der ComboBox korrekt implementiert ist.
  • Fehler: Fehlermeldung erscheint, obwohl der Kunde nicht existiert.

    • Lösung: Überprüfe die Logik in der TextBox1_Exit-Subroutine, insbesondere die Verwendung von CountIf.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch Excel-Formulare direkt in Excel erstellen, indem Du die Datenüberprüfungen und Eingabemasken nutzt. Diese Methode ist jedoch weniger flexibel, da sie keine komplexen Logiken wie im VBA-Formular bietet.


Praktische Beispiele

Ein einfaches Beispiel für die Nutzung eines Excel-Formulars wäre ein Kundenregistrierungsformular, das folgende Felder enthält:

  • Kundenname (TextBox1)
  • Adresse (TextBox2)
  • E-Mail (TextBox3)
  • Telefonnummer (TextBox4)
  • Geschlecht (ComboBox1)

Beim Drücken des „Übernehmen“-Buttons werden die Daten in die nächste leere Zeile der Kundenliste geschrieben.


Tipps für Profis

  • Nutze die Data Validation-Funktion in Excel, um sicherzustellen, dass nur gültige Eingaben in die Textfelder gelangen.
  • Erwäge die Verwendung von ActiveX-Steuerelementen für erweiterten Funktionsumfang im Formular.
  • Halte Deine VBA-Codes gut kommentiert, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich die Größe des Formulars anpassen?
Du kannst die Größe des UserForms im VBA-Editor unter den Eigenschaften anpassen.

2. Wie kann ich das Formular automatisch öffnen?
Du kannst das Formular beim Öffnen der Arbeitsmappe mit dem Workbook_Open-Ereignis öffnen.

3. Ist VBA für alle Excel-Versionen verfügbar?
Ja, VBA ist in den meisten Excel-Versionen verfügbar, jedoch können einige Funktionen je nach Version variieren.

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