Herbers Excel-Forum - das Archiv

Schleife in VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Schleife in VBA
von: Nero

Geschrieben am: 08.01.2007 21:33:37
Hallo
ich habe vollgendes Problem ich brauceh eine Schleife in VBA die abprüft ob in der Zelle z.B. d4 eine 0 oder größer;gleich1 steht. Wenn eine 0 drin steht soll er die werte wo eine 0 steht aus der spalte b nicht mit in die Combobox übernehmen die wo keine 0 steht allerdings schon.
Kann mir da jemand helfen !?
Bild

Betrifft: AW: Schleife in VBA
von: Daniel Eisert
Geschrieben am: 08.01.2007 22:47:46
Hallo
und was soll er machen, wenn eine 1 drin steht?
bezieht sich deine Frage nur auf die Schleife oder brauchst du auch hilfe beim Füllen der Combobox?
Gruß, Daniel
Bild

Betrifft: AW: Schleife in VBA
von: Nero
Geschrieben am: 08.01.2007 23:01:15
Naja die 0 soll halt dastellen das kein bestand da ist und somit uach nicht als auswahl in der Combobox zur auswahl stehen. es können natürlich auch größere Zahlen als 1 drin stehen en wegen ja auch 1 größer/gleich...
Bild

Betrifft: AW: Schleife in VBA
von: Daniel Eisert
Geschrieben am: 08.01.2007 23:05:49
Hallo
ich glaube ich habe mich etwas unklar ausgedrückt.
Was soll das Makro machen, wenn in D4 eine 1 oder grösserer Wert steht?
Nichts oder auch die 0-Werte in die Combobox übernehmen?
Gruß, Daniel
Bild

Betrifft: AW: Schleife in VBA
von: Nero
Geschrieben am: 08.01.2007 23:09:13
Nein es soll nicht die 0 übernommen werden sondern der wert der in einer zelle steht.
z.B.
B1=Opel D1=4
C1=VW D2=0
B1 soll in die Combobox geschrieben werden und -1 abgezogen werden von der 4.
Bild

Betrifft: AW: Schleife in VBA
von: Daniel Eisert

Geschrieben am: 08.01.2007 23:22:14
Hallo
naja im Prinzip so:
Dim Zelle as range
Combobox1.clear
For each Zelle in range("D1:D100") 'Hier den bereich anpassen
if Zelle.value > 0 then
combobox1.additem Zelle.offset(0,-2).value
Zelle.value = Zelle.value-( -1)
end if
next

dieser Codeschipsel prüft die Zellen D1 bis D100 ab
wenn der Zellewert grösser als 0 ist, wird der Wert aus Spalte B der gleichen Zeile der Combobox hinzugefügt und -1 wird vom Zellwert abgezogen (also hinzuaddiert).
Gruß, Daniel
Bild

Betrifft: AW: Schleife in VBA
von: Nero
Geschrieben am: 09.01.2007 00:11:27
Habe sie ein bißchen abgeändert. Wo füge ich noch das Tabellenblatt ein weil es auf einem bestimmten liegt.
soll er bist zu ersten leeren zelle gehen...
was macht dieser Offset befehl ???
wieso kann ich die formel hier nicht reinstellen???
Bild

Betrifft: AW: Schleife in VBA
von: Daniel.Eisert

Geschrieben am: 09.01.2007 00:25:19
Hallo
wenn du hier Formeln oder Code reinschreiben willst, dann muß er zwischen
 und 
stehen, sonst akzeptiert der Editor die Grösser/Kleiner-Zeichen nicht, sondern versucht sie als HTML-Tags zu interpretieren. wenns bis zu ersten leere Zelle gehn soll baust du halt direkt nach dem FOR ein "IF Zelle.Value = "" then exit for" ein der Offset-Befehl verschiebt den aktuellen Zellbereich. In der Variable Zelle steht ja ein Wert aus Spalte D, der gerade geprüft wird. in die combobox will ich aber den Wert aus Spalte B in der geleichen Zeile haben, also nehme ich Zelle, verschoben um 0 nach oben und um 2 nach links. Gruß, Daniel
 Bild
Excel-Beispiele zum Thema "Schleife in VBA"
In einer Schleife auf Elemente einer UserForm zugreifen CheckBoxes in UserForms in eine Schleife einbinden
Gruppe von UserForm-ListBoxes über eine Schleife ansprechen UserForm-Optionsfelder über eine Schleife zurücksetzen