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.

ComboBox mit Teil einer Liste füllen
#11
Hi Ralf,

(02.08.2016, 14:51)Rabe schrieb: ok, dann nehme ich seine.
welche jetzt genau? ;)

(02.08.2016, 14:51)Rabe schrieb: Jetzt noch zusätzliche Fragen:
Was hat das mit diesem Thema zu tun!?

PS: Wirst Du dann in bimbims Copyright mit eingeschlossen?

Gruß Uwe
Antworten Top
#12
Hi Uwe,

(02.08.2016, 15:07)Kuwer schrieb: welche jetzt genau? ;)

Was hat das mit diesem Thema zu tun!?

PS: Wirst Du dann in bimbims Copyright mit eingeschlossen?

Ich habe die erste von Dir genannte (von 10:12 h) genommen, hatte gar nicht gemerkt, daß die Diskussion noch weiter ging.

Naja, die Zeilennnummer der ausgewählten A-Nr. hat schon direkt damit zu tun.

Die folgende Frage, warum nur ein Teil übertragen wird, nicht unbedingt.

Ob Manfred mich in sein © aufnimmt, weiß ich nicht, ist mir aber auch egal.
Du hast natürlich recht, es ist die Datei von bimbim, aber mit zusätzlichen Daten. Ich will die nicht weitergeben, da ich nicht weiß, ob es echte sind.
Aber mal schauen, ob es vielleicht mit meiner letzten veröffentlichten Version geht:
http://www.clever-excel-forum.de/thread-...l#pid47949
Antworten Top
#13
Hi Ralf,

(02.08.2016, 14:59)RPP63 schrieb: Ich würde dies mit 
WorksheetFunction.Match(CB1.Text, Columns(9), 0)
erledigen.

ich habe es so probiert,
      Zeile = WorksheetFunction.Match(ComboBox1.Text, Columns(9), 0).Row  'ComboBox1.ListIndex + 2 
aber da kommt folgender Fehler:
ungültiger Bezeichner für
.Match
Antworten Top
#14
Moin!
Wieso .Row?
.Match liefert die Fundstelle im Vektor, keinen Range!
Ich schrieb ja auch:
Zitat:WorksheetFunction.Match(CB1.Text, Columns(9), 0)
Da steht nix von .Row am Ende.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#15
Hi Ralf,

(03.08.2016, 10:35)RPP63 schrieb: Da steht nix von .Row am Ende.

Auch wenn ich in der Code-Zeile das .Row weglasse kommt der gleiche Fehler.
Zeile ist Long, ist das vielleicht falsch?
Antworten Top
#16
Kann ich nicht nachvollziehen, Ralf.
A
1a
2b
3c
4d
5e
6f
7g
8h
9i

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Direktfenster:
Code:
?WorksheetFunction.Match("e",columns(1),0)
5

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#17
Hi Ralf,

(03.08.2016, 10:52)RPP63 schrieb: Direktfenster:
Code:
?WorksheetFunction.Match("e",columns(1),0)
5

ich habe Dir mal einen Link zur Datei geschickt.

Dann kannst Du auch gleich das Übertragen der Daten in die Eingabe-Userform testen. :21:
Antworten Top
#18
PN erhalten!
Ich kümmere mich später darum, bis jetzt erst mal außer Haus.

Bis dahin, Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#19
Hallo Ralf,

vielleicht eine andere Idee.
Mach doch die Combobox mehrspaltig (2?). Der zweiten Spalte gibst Du die Länge 0.
Beim Befüllen der Combobox gibst Du der zweiten Spalte den Zeilenindex mit.

Code:
Combobox.Column(0, 2) = Cells(zelle, 1).Row

Im Click-Event der Combobox fragst Du dann die Zeilenindex ab.


Gruß
Ich
Antworten Top
#20
Halo,

(03.08.2016, 15:20)IchBinIch schrieb: vielleicht eine andere Idee.

das klingt gut und zielführend. Leider kriege ich es nicht hin.

Hier meine beiden Codes zum Initialisieren/Füllen der Combobox und zum Auslesen der Daten:
Private Sub UserForm_Initialize()
   Dim loLetzte As Long
   Dim objWs As Worksheet

   Set objWs = ThisWorkbook.Worksheets("Datenbankliste")
   '   loLetzte = objWs.Cells(Rows.Count, 9).End(xlUp).Row                     ' letzte belegte in Spalte I (9) 
   '   With ComboBox1 
   '      .List = objWs.Range("I2:I" & loLetzte).Value 
   '      For i = .ListCount - 1 To 0 Step -1 
   '         If Left(.List(i), 1) <> "A" Then .RemoveItem i 
   '      Next i 
   '   End With 

   For i = 2 To objWs.Cells(2, 9).End(xlDown).Row
      If Left(objWs.Cells(i, 9), 1) = "A" Then
         ComboBox1.AddItem objWs.Cells(i, 9)
      End If
   Next i
End Sub

Private Sub ComboBox1_Click()              ' Übernehmen 
   Dim objWs As Worksheet
   Set objWs = ThisWorkbook.Worksheets("Datenbankliste")
   
   boAbbruch = False
   
   If ComboBox1.ListIndex >= 0 Then
      Zeile = WorksheetFunction.Match(ComboBox1.Text, Columns(9), 0)      'ComboBox1.ListIndex + 2 
      
      strKFZKennz = objWs.Cells(Zeile, 1)
      msgbox (strKFZKennz)
      
      With frm_Eingabe
         For i = 1 To 8                                                   'Kundendaten 
            .Controls("Textbox" & i) = objWs.Cells(Zeile, i)
         Next i
         
         For i = 9 To 11                                                  'Kfz-Daten 
            .Controls("Textbox" & i) = objWs.Cells(Zeile, i + 3)
         Next i
        
         .Controls("Combobox1") = strKFZKennz
         .Controls("Combobox2") = "Rechnung"
         .Controls("Textbox100") = "R" & Mid(objWs.Cells(Zeile, 9), 2, 8)
         
         For i = 15 To 25                                                 ' Arbeitsgang 1 - 11 
            .Controls("Textbox" & i) = objWs.Cells(Zeile, i)
         Next i
         For i = 26 To 36                                                 ' Arbeitswert zu Arbeitsgang 1 - 11 
            .Controls("Textbox" & i + 75) = objWs.Cells(Zeile, i)
         Next i
         For i = 37 To 47                                                 ' Einzelpreis zu Arbeitsgang 1 - 11 
            .Controls("Textbox" & i + 164) = objWs.Cells(Zeile, i)
         Next i
         For i = 48 To 58                                                 ' Euro-Betrag zu Arbeitsgang 1 - 11 
            .Controls("Textbox" & i + 253) = objWs.Cells(Zeile, i)
         Next i
         .Controls("Textbox200") = objWs.Cells(Zeile, 59)                 ' Gesamtsumme 
      End With
      
      Unload frm_Anzeige      'oder Me 
      frm_Eingabe.Show
   End If
End Sub
Könntest Du mir das da mal bitte einbauen?

Eine gute Idee war es auch, den Click-Event der Combobox zu nehmen und den OK-Button zu entfernen.

Warum wird das msgbox (strKFZKennz) vom Editor nicht automatisch so umgewandelt: MsgBox (...)?
Antworten Top


Gehe zu:


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