Anzeige
Archiv - Navigation
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

AddItem

AddItem
15.12.2005 04:16:57
Gnilk
Hallo Leute,
heute habe ich mal wieder von nichts eine Ahnung.
Ich bin immer noch an meinen AddItems. Das Problem ist diesmal, dass ich mir das Updaten einfach machen will und daher eine Variable eingebaut habe. Es geht um die Zahl der UserForm.
Schaut Euch doch ma den Code an. Der Fehler tritt immer bei der Stele auf wo das AddItem kommt. Also es kann die Userform nicht gefunden werden.
Hierder Code:

Private Sub UserForm_Initialize()
' for the text in ComboBox1 "Description"
Dim letEin As Long, element As Long, Pump As String, nmbr As Long, wrt As WorksheetFunction
Pmp = "paul"
nmbr = 2
letEin = Worksheets("DB").Cells(65536, 2).End(xlUp).Row
With Worksheets("DB")
Worksheets("DB").Select
Selection.End(xlUp).End(xlToLeft).Select
For j = 2 To letEin
If Cells(j, 2).FormulaLocal = Pmp Then
wrt = ActiveWorkbook("UserForm" & nmbr)
wrt.ComboBox1.AddItem (Worksheets("DB").Cells(j, 4))
End If
Next
wrt = ActiveWorkbook("UserForm" & nmbr)
wrt.ComboBox1.AddItem (Worksheets("DB").Cells(2, 35))
End With
' for the text in the ComboBox4 "Qty"
For I = 2 To 100
wrt = ActiveWorkbook("UserForm" & nmbr)
wrt.ComboBox2.AddItem (Worksheets("DB").Cells(I, 34))
Next
' here you see the the value when you open the UserForm
UserForm1.ComboBox2.ListIndex = 0
End Sub

Vielen Dank im Voraus
Ciao
Gnilk

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AddItem
15.12.2005 06:14:54
Erich
Hallo Klaus,
eindringlich möchte ich dir empfehlen, mit "Option Explicit" zu arbeiten.
(Pump musste zu Pmp werden, j und I waren nicht deklariert.)
Warum deklarierst du wrt als WorksheetFunction, nicht als UserForm? Es soll doch Letzteres sein.
Die Selects sind - jedenfalls für die Userforms - unnötig.
Da du einen "With"-Block geschrieben hast, solltest du ihn auch benutzen.
"element" kommt nicht vor.
Die Zuweiseung zu wrt muss mit Set gemacht werden - wie immer bei Objekten.
Hast du wirklich so viele Userforms in deiner Mappe?
Folgende Neufassung ist ungetestet. Probierst du's mal aus?

Private Sub UserForm_Initialize()
' for the text in ComboBox1 "Description"
Dim letEin As Long, Pmp As String, nmbr As Long, wrt As UserForm
Dim j As Integer, I As Integer
Pmp = "paul"
nmbr = 2
With Worksheets("DB")
'     Worksheets("DB").Select
'     Selection.End(xlUp).End(xlToLeft).Select
letEin = .Cells(65536, 2).End(xlUp).Row
For j = 2 To letEin
If Cells(j, 2).FormulaLocal = Pmp Then
Set wrt = ActiveWorkbook("UserForm" & nmbr)
wrt.ComboBox1.AddItem .Cells(j, 4)
End If
Next
wrt = ActiveWorkbook("UserForm" & nmbr)
wrt.ComboBox1.AddItem .Cells(2, 35)
' for the text in the ComboBox4 "Qty"
For I = 2 To 100
Set wrt = ActiveWorkbook("UserForm" & nmbr)
wrt.ComboBox2.AddItem .Cells(I, 34)
Next
' here you see the the value when you open the UserForm
UserForm1.ComboBox2.ListIndex = 0
End With
End Sub

Meine obigen Bemerkungen klingen sicher ziemlich unfreundlich, sind aber gar nicht so gemeint! Sollte nur nicht zu lang werden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: AddItem
15.12.2005 06:25:32
Gnilk
Hallo Erich,
Du bist der Beste!!!! Finde ich auch gut, dass Du noch den Text (mit unfreundlich u.s.w.) dazugeschrieben hast. Es gibt echt Leute hier die alles zu ernst nehmen [Meiner Einer :-)]!
Ich bedanke mich auch fuer die Erklaerungen, denn nur so kann ich auch verstehen was ich mache.
Das mit dem Select habe ich eingebaut, da die ComboBox ansonsten nicht alle Werte angezeigt hat. Hat dann fuenf vergessen. Wie kann das sein? Als ich dann das Select eingebaut habe, hat es dann funktioniert.
Schreib bitt noch einmal eine kurze Rueckmeldung, mich interessiert das mit dem Select.
Noch einmal tausend Dank, Du hast mir echt schon oft geholfen.
Ciao
Gnilk aka Klaus
Anzeige
AW: AddItem
15.12.2005 06:34:28
Erich
Hallo Klaus,
dass die Selects eine Wirkung auf die UF hatten, kann ich mir nicht vorstellen. Bei

letEin = Worksheets("DB").Cells(65536, 2).End(xlUp).Row
With Worksheets("DB")
Worksheets("DB").Select
Selection.End(xlUp).End(xlToLeft).Select
For j = 2 To letEin

wird letEin unabhängig von einem Select (und ohnehin davor) bestimmt, auch nachher findet sich kein Bezug auf die selektierte Zelle.
Grüße von Erich aus Kamp-Lintfort
AW: AddItem
15.12.2005 06:39:52
Gnilk
Hallo Erich,
also dass das select keinen sinn macht, hatte ich mir auch erst gedacht. Aber irgendwie hat es dann erst funktioniert. Ich versuchs noch einmal ohne den Select-Kram.
Bis densen dann
Ciao
Gnilk aka Klaus
Anzeige
AW: AddItem
15.12.2005 06:27:48
Erich
Hallo Klaus,
noch eine Korrektur und eine Frage:
Du hast gar nicht viele Userforms, sondern hier hur UserForm2.
Wo steht dieser Code? Im Code der UserForm2? Dann brauchst du diese Userform gar nicht als Objekt. Ich vermute, dass du in dem Code nicht den Inhalt einer anderen UserForm initialisieren willst:

Private Sub UserForm_Initialize()
' for the text in ComboBox1 "Description"
Dim letEin As Long, Pmp As String
Dim j As Integer, I As Integer
Pmp = "paul"
With Worksheets("DB")
'     Worksheets("DB").Select
'     Selection.End(xlUp).End(xlToLeft).Select
letEin = .Cells(65536, 2).End(xlUp).Row
For j = 2 To letEin
If Cells(j, 2).FormulaLocal = Pmp Then ComboBox1.AddItem .Cells(j, 4)
Next
ComboBox1.AddItem .Cells(2, 35)
' for the text in the ComboBox4 "Qty"
For I = 2 To 100
ComboBox2.AddItem .Cells(I, 34)
Next
' here you see the the value when you open the UserForm
ComboBox2.ListIndex = 0
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: AddItem
15.12.2005 06:36:53
Gnilk
Hallo Erich,
Du hast recht. Der Code steht in UserForm2. Es stimmt ich brauche gar nicht so viel zu definieren. Ich brauche eigentlich immer diesen "paul".
Danke, ich versuchs gleich mal ob es noch funzt.
kannst Du mir trozdem noch eine Rueckmeldung fuer meine Antort auf Deine erste Antwort geben?
Ciao
Gnilk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige