Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

Do Schleife ...stehe ein wenig auf dem Schlauch

Do Schleife ...stehe ein wenig auf dem Schlauch
Frank
Hallo Ihr lieben Helfer,
irgendwie stehe ich auf dem Schlauch.
Was ist an dieser Schleife falsch?
    For i = 1 To UBound(arrDaten)
If Cells(i + 1, 1)  ComboBox1.Text Then
Do Until arrDaten(i, 1) = ComboBox1.Text
Exit Do
Loop
End If
Next
ListBox2.AddItem arrDaten(i, 2)
Sie endet nicht wenn die Bedingung

arrDaten(i, 1) = ComboBox1.Text
erfüllt ist.
Vielen Dank
Frank

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Do Schleife ...stehe ein wenig auf dem Schlauch
18.02.2011 10:28:15
Holger,
Hallo Frank,
kann es sein, dass die Bedigung vorher schon erfüllt ist?
In dem Fall gibt es eine kleine Erweiterung der Do .. Loop Schleife, damit dennoch
die Schleife ein erstes Mal durchlaufen wird. Versuch es mal so:
Do
exit
Loop until arrdaten....

AW: Do Schleife ...stehe ein wenig auf dem Schlauch
18.02.2011 10:29:23
Tino
Hallo,
Deine Variable i bleibt in der Do Loop Schleife unverändert.
Weis nicht was Du vor hast? Evtl. eine einfach If einbauen anstatt der Schleife.
    For i = 1 To UBound(arrDaten)
If Cells(i + 1, 1)  ComboBox1.Text Then
If arrDaten(i, 1) = ComboBox1.Text Then Exit For
End If
Next
Gruß Tino
Anzeige
STimmt ...
18.02.2011 10:31:07
Holger,
He Tino,
das hatte ich gar nicht gesehen. Da i hier ja nur einen Wert hat, ist es eigentlich Quatsch.
AW: STimmt ...
18.02.2011 11:00:16
Frank
Hallo Tino hallo Holger,
dem ist aber nicht so
In der Worddatei habe ich zwei Screenshots.
Die Variable i wird hochgezählt
https://www.herber.de/bbs/user/73611.doc
AW: STimmt ...
18.02.2011 11:02:22
Holger,
Hallo Frank,
in dem Do Until wird es doch aber nicht hochgezählt, oder?
Denn der Wert sollte unverändert bleiben ab dem If.
Erst wenn der If Zweig fertig ist und das nächste Next kommt, wird i um eins erhöht,
meiner Meinung nach.
Anzeige
AW: STimmt ...
18.02.2011 11:14:02
Frank
Hallo Holger,
...doch auch dort wird die Variable i wird hochgezählt.
Aber vielleicht noch mal zur Erklärung.
In das Array habe ich daten geschrieben und nun möchte ich in Anbhängigkeit
des Combobox1.textes eine Listbox füllen( ich weiß ich könnte auch ein Texfeld verwenden)
Wenn nun der Inhalt der Combobox = dem Inhalt von arrDaten(i,1) soll die Schleife enden
und der Wert von arrDaten(i,2) in die List(Text)box geschrieben werden
Gruß
AW: STimmt ...
18.02.2011 11:24:46
Holger,
Hm, dann fällt mir nicht mehr soviel ein, denn warum i hochgezählt wird, verstehe ich nicht.
Daher setze ich den Thread auf offen.
Was mir noch einfällt: Fängt dein Array vielleicht bei 0 an anstatt bei 1?
Anzeige
ich bin so doof
18.02.2011 11:26:29
Frank
Hallo,
irgendwann ist Cells(i + 1, 1) ComboBox1.Text nicht mehr gegeben.
Ich bin so blöd
Irgenwie muss ich das jetzt abfangen.
Weiß aber noch nicht wie
Gruß
Frank
Noch eine Frage dazu
18.02.2011 13:53:57
Frank
wenn ich es doch ohne die erst if-Anweisung also
so

For i = 1 To UBound(arrDaten)
Do Until arrDaten(i, 1) = ComboBox1.Text
Exit Do
Loop
Next
TextBox3.Value = arrDaten(i, 2)

mache sollte es doch gehen,oder?
Ist aber nicht so.
Ich bin zu doof dazu
Gruß
Frank
AW: Noch eine Frage dazu
18.02.2011 14:58:02
Rudi
Hallo,
du verlässt die Schleife ja sofort mit Exit Do.
    For i = 1 To UBound(arrDaten)
Do Until arrDaten(i, 1) = ComboBox1.Text
i = i+1
Loop
Next
TextBox3.Value = arrDaten(i, 2)

Gruß
Rudi
Anzeige
AW: Noch eine Frage dazu
18.02.2011 15:32:06
Frank
...danke Dir Rudi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige