PDA

Vollständige Version anzeigen : ComboBox nur mit bestimmten Werten einer Tabelle füllen


Hennes74
16.07.2012, 21:05
Hallo,

für die VBA-Profis hier wird es wahrscheinlich wieder eine langweilige Anfängerfrage sein, aber ich stelle sie trotzdem.

Ich möchte das Füllen meiner ComboBox an eine Bedingung knüpfen.
Ich habe folgende Tabelle:

http://www.pimpmychart.com/private/auftraege.jpg

Nun möchte ich nur die Aufträge in die ComboBox übertragen, die den Status "Offen" in Spalte D haben.
Bisher habe ich das Füllen immer per Schleife ohne Bedingungen gemacht, wie z.B.:

For Wiederholungen = 2 To Sheets("Aufträge").Range("A65536").End(xlUp).Row
ComboBox1.AddItem Sheets("Aufträge").Cells(Wiederholungen, 1)

Wie mache ich das nun am besten mit Bedingung?

Besten Dank vorab.

Gruß

Hennes

josef e
16.07.2012, 21:21
<div style="width:98%; margin-left:5px; margin-right:15px; text-align:justify;">
Hallo Hennes,

ungetestet!

<div style="background-color:#F5F5F5; border-width:2px; border-style: groove; border-color:#ff9966; padding:4px;"><nobr><span style="font-family:Courier New,Arial; font-size:8pt ;" ><b><span style="color:#0000FF"; >Sub</span> fillCombo()</b><br />&nbsp;&nbsp;<span style="color:#0000FF"; >Dim</span> rng <span style="color:#0000FF"; >As</span> Range, strFirst <span style="color:#0000FF"; >As</span> <span style="color:#0000FF"; >String</span><br />&nbsp;&nbsp;<br />&nbsp;&nbsp;ComboBox1.Clear<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color:#0000FF"; >With</span> Sheets(<span style="color:#808080"; >"Auftr&auml;ge"</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#0000FF"; >Set</span> rng = .Columns(4).Find(What:=<span style="color:#808080"; >"Offen"</span>, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=False, After:=Range(<span style="color:#808080"; >"D1"</span>))<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#0000FF"; >If</span> <span style="color:#0000FF"; >Not</span> rng <span style="color:#0000FF"; >Is</span> <span style="color:#0000FF"; >Nothing</span> <span style="color:#0000FF"; >Then</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFirst = rng.Address<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#0000FF"; >Do</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComboBox1.AddItem .Cells(rng.Row, 1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#0000FF"; >Set</span> rng = .Columns(4).FindNext(rng)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#0000FF"; >Loop</span> <span style="color:#0000FF"; >While</span> <span style="color:#0000FF"; >Not</span> rng <span style="color:#0000FF"; >Is</span> <span style="color:#0000FF"; >Nothing</span> <span style="color:#0000FF"; >And</span> strFirst &lt;&gt; rng.Address<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#0000FF"; >End</span> <span style="color:#0000FF"; >If</span><br />&nbsp;&nbsp;<span style="color:#0000FF"; >End</span> <span style="color:#0000FF"; >With</span><br />&nbsp;&nbsp;<br /><b><span style="color:#0000FF"; >End</span> <span style="color:#0000FF"; >Sub</span></b><br /><br /></span></nobr></div>


</div>

<div style="width:100px; text-align:center; color:white; font-style:italic; font-size:0.8em; font-family:Tahoma; background-color:royalblue;margin-left:5px; margin-top:15px; padding:4px; border:3px double darkblue;">&laquo; Gru&szlig; Sepp &raquo;</div>

Hennes74
16.07.2012, 21:33
Funktioniert auf Anhieb, Sepp.

1000-Dank!

Ich werde Deinen Code mal Schritt für Schritt durchgehen um ihn auch wirklich zu verstehen. Man will ja auch was lernen und nicht nur Fragen stellen...

Danke & Gruß

Hennes