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.

Textboxen mit Auswahl einer Combobox nacheinander füllen
#11
Hallo André,

(29.06.2014, 06:12)schauan schrieb: Besser wäre, die Combobox zurückzusetzen. --> im code die Zeile mit ... Listindex = -1

hier wird aber das Change-Ereignis der ComboBox wieder ausgelöst, was ich mit der Modulvariable vermieden habe.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#12
Hallo Stefan,

ja, dann machen wir das weiter unten oder setzen das True schon vor dem With Me.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
Hallo André, hallo Stefan
Das einfügen der Artikel passt super, auch das der nächste in der Kopfzeile gewählt werden kann ist hervoragend.
Nun hät der Artikel gerne noch im Label rechts die Artikel-ID zu stehen.
Code:
.Label5.Caption = Worksheets(1).Cells(ComboBox1.ListIndex + 2, 1)
Das kann so bestimmt nicht funktionieren, weil nur Label 5 angesprochen ist, oder ?!

Hier der komplette aktuelle Code
Code:
Private bolAufruf As Boolean
Private Sub ComboBox1_Change()
    Dim lngCounter As Long, iCNt1 As Integer
    Dim wksEingabe As Worksheet
    Dim intErsteLeereZeile As Long
    If bolAufruf Then Exit Sub
    For lngCounter = 1 To 12
        If Me.Controls("TextBox" & lngCounter) = "" Then Exit For
    Next lngCounter
    With Me
    .Controls("TextBox" & lngCounter) = .ComboBox1
    .Label5.Caption = Worksheets(1).Cells(ComboBox1.ListIndex + 2, 1)
    .ComboBox1.ListIndex = -1
    End With
    bolAufruf = True
    With ThisWorkbook.Worksheets("Tabelle1").Range("AK2:AK13")              ' zu befüllender Tabellenbereich
      Do While .Cells(icnt + 1, 1).Value <> ""
        icnt = icnt + 1
      Loop
      .Cells(icnt + 1, 1).Value = Me.Controls("TextBox" & lngCounter).Value
    End With
    bolAufruf = False
End Sub
Private Sub CmdAbbruch_Click()
Unload Me
End Sub
Private Sub CmdWeiter_Click()
Unload Me
End Sub
Ist das ebenfalls zu bewerkstelligen?

mfg
Antworten Top
#14
Hallo Frank,

das funktioniert im Prinzip so wie mit den Textboxen in der Zeile darüber -
.Controls(...).Caption.
Allerdings müsstest Du in Deiner Tabelle noch irgendwo, z.B. in Spalte AI, noch die zum Artikel passende korrekte ID ermitteln. Dann kannst Du mit dieser Spalte arbeiten statt mit Spalte A.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
Hallo André
(29.06.2014, 10:40)schauan schrieb: ...noch irgendwo, z.B. in Spalte AI, noch die zum Artikel passende korrekte ID ermitteln. Dann kannst Du mit dieser Spalte arbeiten statt mit Spalte A.
Ich schrieb am 27.06.2014 09:15
Zitat:Edit:
Spalte AI von Zeile 2 - 13 muss eine Sverweisformel hinein, sorry. Hier für AI2 und dann runterkopieren
Spalte Aa Ii 2 - 13

Ich hab zwar jetzt die Spalte aber wie die Artikel-ID zuweisen
Code:
....ksheets(1).Cells(ComboBox1.ListIndex + 2, 38)
so wird in Spalte AL die erste Zeile ausgegeben, Labelinhalt [Artikel-ID]

Wie soll das mit
Zitat:.Controls(...).Caption.
aussehen?
mfg

Apropos
Da habe ich eventuell noch einen Schreibfehler gefunden, aber siehe
Code:
Private Sub ComboBox1_Change()
    Dim lngCounter As Long, iCNt As Integer
   'Dim lngCounter As Long, iCNt1 As Integer
    If bolAufruf Then Exit Sub
Antworten Top
#16
Hallo Frank,

na, das Ding heißt doch Label. Also Textbox durch Label ersetzen.
Also im Prinzip so:

.Controls("Label" & lngCounter).Caption = ....ksheets(1).Cells(ComboBox1.ListIndex + 2, 38)

Da Deine Label nicht mit dem Index 1 wie die Textboxen anfangen, musst Du zum lngCounter noch was zuzählen Wink

Mit Option Explicit am Anfang des Moduls wäre die 1 bei der Variablendeklaration übrigens spätestens bei der Verwendung der daher undeklarierten Variable iCnt aufgefallen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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