Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Freitext aus combobox in tabelle übernehmen
28.01.2019 10:35:28
Marius
Hallo liebe VBA-Experten!
Trotz mittlerweile stundenlanger Suche finde ich weder eine Lösung, noch die richtige Hilfe, darum versuche ich es jetzt einmal mit einem eigenen (neuen) Forenbeitrag.
Ich habe folgendes "Problem".
Meine UserForm zur Verbuchung von Rechnungen beinhaltete u.a. 2 ComboBoxen.
Diese werden über folgenden Code mit Auswahlmöglichkeiten gefüllt:

Private Sub UserForm_Initialize()
Dim Wiederholungen As Integer
'Schleife zum Füllen der ComboBox mit den Daten aus Blättern "Kontenliste" und "Lieferanten"
'Spalte A ab Zeile 2 bis zur letzten gefüllten Zeile
For Wiederholungen = 2 To Sheets("Kontenliste").Range("A65536").End(xlUp).Row
ComboBox1.AddItem Sheets("Kontenliste").Cells(Wiederholungen, 1)
ComboBox2.AddItem Sheets("Lieferanten").Cells(Wiederholungen, 1)
Next
End Sub

Mit folgenden Code-Zeilen schreibt die UF dann das Konto und den Lieferanten in die Ziel- _ Tabelle:

Private Sub CommandButton1_Click()
Dim x As Currency
Dim erste_freie_Zeile As Integer
'erste freie Zeile in Blatt "Kreditoren" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = Sheets("Kreditoren").Range("A65536").End(xlUp).Offset(1, 0).Row
'In Blatt "Kreditoren" neue freie Zeile einfügen
Sheets("Kreditoren").Range("A65536").End(xlUp).Offset(1, 0).EntireRow.Insert
'Spalte E, erste freie Zeile das ausgewählte Konto übertragen
Sheets("Kreditoren").Cells(erste_freie_Zeile, 5) = ComboBox1.Text
'Spalte F, erste freie Zeile den ausgewählten Lieferanten übertragen
Sheets("Kreditoren").Cells(erste_freie_Zeile, 6) = ComboBox2.Text
End Sub

Nun kann es natürlich vorkommen, dass ein Lieferant (nennen wir ihn "Meier") noch nicht in der Tabelle "Lieferanten" aufgeführt ist, er im DropDown also nicht auswählbar ist.
Da der User natürlich nicht in der Tabelle "rumfummeln" soll, möchte ich, dass die ComboBox bzw. die UserForm den eingegebenen Freitext "Meier" in die Tabelle "Lieferanten" übernimmt, falls dieser noch nicht vorhanden ist.
(Falls der Lieferant "Meier" namentlich schon in der Tabelle existieren würde, wird er dem User bei der Eingabe ja direkt (per Auto Fill In) angezeigt)
D.h. hier könnte man ja auf deine Prüfung, ob ein Wert doppelt/mehrfach existiert verzichten, oder?!
Habt Ihr hierzu eine Idee bzw. im Optimalfall bereits einen Code?!
P.S.: Bei der ComboBox1 "Kontenliste" kommt der beschriebene Fall so gut wie nie vor bzw. da könnte ich den Code ja dann ggf. selbst adaptieren.
Schon mal vielen Dank vorab für Eure Hilfe!!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Freitext aus combobox in tabelle übernehmen
28.01.2019 11:15:45
hary
Moin
Mit Freitext meinst du dass haendische eintragen in Cbo2 ?
Mit CountIf(Zaehlenwenn) pruefen ob der Eintrag Cbo2 schon vorkommt.
With Sheets("Lieferanten")
If Application.CountIf(.Columns(1), ComboBox2) = 0 Then
.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = ComboBox2
End If
End With

gruss hary
AW:AW: Freitext aus combobox in tabelle übernehmen
28.01.2019 11:58:19
Marius
Servus Hary,
besten Dank, klappt wie gewünscht!
AW:AW: Freitext aus combobox in tabelle übernehmen
28.01.2019 11:59:40
Marius
Servus Hary,
besten Dank, klappt wie gewünscht!
Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige