Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo André,
(29.06.2014, 07: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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
Registriert seit: 15.04.2014
Version(en): Office 2007
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo André
(29.06.2014, 11: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
AproposDa 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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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
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)