Ab letztem Wert weiterzählen
16.04.2009 12:40:52
Manuel
ich habe eine große 5000 Zeilen lange und 46 Spalten breite Excel-Liste mit Artikeldaten usw. Jetzt habe ich mir ein UserForm gebastelt womit ich neue Artikel eingebe. Dabei hatte ich die glorreiche Idee, wenn ich im Feld für die Artikelnummer den Text einzugeben, dass er mir beim "Change-Ereignis" schon Vorschläge macht und das Userform entsprechend ausfüllt. Mein Problem ist nun, dass er jedesmal bei Zeile 2 wieder anfängt nach ähnlichkeiten zu suchen und das ziemlich viel Zeit in Anspruch nimmt.
Private Sub ComboBox5_Change()
'Überprüft die Zeichenlänge im Feld "Artikelnummer".
CB5 = ComboBox5.Value 'Artikelnummer
Dim i As Integer
If Len(ComboBox5.Text) > 25 Then GoTo Ueberlaenge
Me.CommandButton3.Enabled = True
Worksheets("Einzelteile").Activate
For nZaehler1 = 2 To 8000
Range("B" & Trim(Str(nZaehler1))).Select
If ActiveCell.Value = CB5 = True Then GoTo Ausfüllen
Next nZaehler1
Exit Sub
Ausfüllen:
ComboBox3.Style = fmStyleDropDownCombo
ComboBox4.Style = fmStyleDropDownCombo
TextBox4.Enabled = True
Worksheets("Einzelteile").Activate
Range("C" & Trim(Str(nZaehler1))).Select
Me.TextBox2 = ActiveCell.Value
Range("D" & Trim(Str(nZaehler1))).Select
Me.TextBox3 = ActiveCell.Value
Range("E" & Trim(Str(nZaehler1))).Select
Me.ComboBox1 = ActiveCell.Value
Worksheets("Einzelteile").Activate
Range("F" & Trim(Str(nZaehler1))).Select
Me.ComboBox2 = ActiveCell.Value
Range("H" & Trim(Str(nZaehler1))).Select
Me.ComboBox3 = ActiveCell.Value
Worksheets("Einzelteile").Activate
Range("K" & Trim(Str(nZaehler1))).Select
Me.TextBox5 = ActiveCell.Value
Range("L" & Trim(Str(nZaehler1))).Select
Me.TextBox6 = ActiveCell.Value
Range("M" & Trim(Str(nZaehler1))).Select
Me.TextBox7 = ActiveCell.Value
Range("P" & Trim(Str(nZaehler1))).Select
Me.ComboBox4 = ActiveCell.Value
Range("AD" & Trim(Str(nZaehler1))).Select
Me.TextBox8 = ActiveCell.Value
Range("AH" & Trim(Str(nZaehler1))). _
Select
Me.TextBox9 = ActiveCell.Value
Range("AI" & Trim(Str(nZaehler1))). _
Select
Me.TextBox10 = ActiveCell.Value
Range("AJ" & Trim(Str(nZaehler1) _
)).Select
Me.TextBox11 = ActiveCell.Value
Range("AM" & Trim(Str( _
nZaehler1))).Select
Me.TextBox12 = ActiveCell. _
Value
Range("AP" & Trim(Str( _
nZaehler1))).Select
Me.TextBox13 = _
ActiveCell.Value
Range("AQ" & Trim( _
Str(nZaehler1))).Select
Me.TextBox14 = _
ActiveCell.Value
Range("AR" & _
Trim(Str(nZaehler1))).Select
Me.TextBox15 = _
ActiveCell.Value
TextBox4.Enabled = _
False
If CB5 = "" = False _
Then GoTo Ändern
Exit Sub
Ändern:
CB1 = ComboBox1.Value 'Produktnummer
CB2 = ComboBox2.Value 'Unternummer
CB3 = ComboBox3.Value 'Herstellerlangname
CB4 = ComboBox4.Value 'Montageort
ComboBox3.Style = fmStyleDropDownCombo
ComboBox4.Style = fmStyleDropDownCombo
Dim h As Variant
h = CB2
If CB1 = "0" Then Me.ComboBox1 = "Allgemeine"
If CB1 = "1" Then Me.ComboBox1 = "Relais , Schütze"
If CB1 = "2" Then Me.ComboBox1 = "Klemmen"
If CB1 = "3" Then Me.ComboBox1 = "Stecker"
If CB1 = "4" Then Me.ComboBox1 = "Umsetzer"
If CB1 = "5" Then Me.ComboBox1 = "Schutzeinrichtungen"
If CB1 = "6" Then Me.ComboBox1 = "Röhren, _
Halbleiter"
If CB1 = "7" Then Me.ComboBox1 = " _
Meldeeinrichtungen"
If CB1 = "8" Then Me.ComboBox1 = "Motoren"
If CB1 = "9" Then Me.ComboBox1 = " _
Messgeräte , Prüfeinrichtungen"
If CB1 = "10" Then Me.ComboBox1 = " _
Widerstände"
If CB1 = "11" Then Me.ComboBox1 _
= "Schalter , Wähler"
If CB1 = "12" Then Me. _
ComboBox1 = "Transformatoren"
If CB1 = "13" Then Me. _
ComboBox1 = "Modulatoren"
If CB1 = "14" Then Me.ComboBox1 = _
"El.Betat.mech.Einrichtungen"
If CB1 = "15" Then Me.ComboBox1 = " _
Sonderbauteile"
If CB1 = "16" Then Me.ComboBox1 = " _
Verschiedenes"
If CB1 = "17" Then Me.ComboBox1 = " _
Kondensatoren"
If CB1 = "18" Then Me.ComboBox1 = "Digitale _
Elemente"
If CB1 = "19" Then Me.ComboBox1 = "Generatoren, _
Stromversorgungen"
If CB1 = "20" Then Me.ComboBox1 = "Induktivitäten"
If CB1 = "21" Then Me.ComboBox1 = "Verstärker , Regler"
If CB1 = "22" Then Me.ComboBox1 = "Starkstrom -Schaltgeräte" _
_
If CB1 = "23" Then Me.ComboBox1 = "Abschlüsse , Filter"
If CB1 = "24" Then Me.ComboBox1 = "Übertragungswege"
'Ändert die Felder der Untergruppe vom ausgeschriebenem Text in Zahlen für den _
_
Import.
If h = "0" Then Me.ComboBox2 = "Allgemeine"
If h = "40" Then Me.ComboBox2 = "Klemme"
If h = "41" Then Me.ComboBox2 = "Tragschiene"
If h = "42" Then Me.ComboBox2 = "Endwinkel"
If h = "51" Then Me.ComboBox2 = "Klemmenschild"
If h = "52" Then Me.ComboBox2 = "Weitere Schilder"
If h = "53" Then Me.ComboBox2 = "Leistenschild"
If h = "61" Then Me.ComboBox2 = "Querverbinder"
If h = "63" Then Me.ComboBox2 = "Schienen"
If h = "71" Then Me.ComboBox2 = " _
Abdeckung"
If h = "72" Then Me.ComboBox2 = "Abschluß"
If h = "73" Then Me.ComboBox2 = "Trennwand"
If h = "81" Then Me.ComboBox2 = "Steckergehäuse"
If h = "82" Then Me.ComboBox2 = "Steckerzubehör"
If h = "91" Then Me.ComboBox2 = "Werkzeug"
If h = "92" Then Me.ComboBox2 = "Testzubehör"
If h = "11" Then Me.ComboBox2 = "Schütze"
If h = "21" Then Me.ComboBox2 = "Hilfsblock"
If h = "" Then Else
'Ändert die Felder des Montageorts vom ausgeschriebenem Text in Zahlen für den _
Import.
If CB4 = "1" Then Me.ComboBox4 = "Montageplatte"
If CB4 = "2" Then Me.ComboBox4 = "Schwenkrahmen"
If CB4 = "3" Then Me.ComboBox4 = "Tür"
If CB4 = "4" Then Me.ComboBox4 = "Seitenteil"
If CB4 = "5" Then Me.ComboBox4 = "Dach"
If CB4 = "6" Then Me.ComboBox4 = "Nicht definiert"
ComboBox3.Style = fmStyleDropDownList
ComboBox4.Style = fmStyleDropDownList
Exit Sub
Ueberlaenge:
i = MsgBox("Die Textlänge der Artikelnummer ist auf 25 begrenzt!", 1 + vbOKOnly, "")
Me.CommandButton3.Enabled = False
End Sub