PDA

Vollständige Version anzeigen : Schleife findet kein Ende, obwohl die Bedingung erfüllt ist


Tendo
20.09.2016, 10:27
Hallo Zusammen,

ich kämpfe mit folgendem Problem:

In meiner Excel Datei habe ich einen Reiter "Daten", der die Grundlage für ein Diagramm ist. Im Reiter "Übersicht" gibt es eine Dropdownliste, die die Monate enthält.
1.Problem: Das Makro liest nicht die Dropdownliste aus, wenn man einen Monat weiter springt.

Auswahl = ThisWorkbook.Worksheets("Übersicht").Monat.Value

2.Problem: Im Reiter "Daten" sollen die Werte aus Spalte "G" in Array geschrieben werden, die in dem Monat Januar stehen. In Spalte "I" sind die Monate geschrieben. Der Januar geht bis Zeile 167, danach kommt Februar. Das Makro läuft weiter und füllt das Array immer weiter. Dimenioniert ist das Array bis 3000.

With ThisWorkbook.Worksheets("Daten").Range("I:I")
Set Bereich = .Find(Auswahl, lookat:=xlWhole)
i = 2
If Not Bereich Is Nothing Then
Do
A = Bereich.Address
i = i + 1
FB(i) = Worksheets("Daten").Cells(Bereich.Row, 7).Value
Set Bereich = .FindNext(Bereich)
Loop While Not Bereich Is Nothing And Bereich.Address <> A
End If
End With


Ich hab keinen Ahnung, wo das Problem liegt. Hat jmd. ne Idee?

Vielen Dank für Eure Hilfe!!!!

Viele Grüße
Tendo

Beverly
20.09.2016, 10:57
Hi,

wo befindet sich das Dropdown?

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

EarlFred
20.09.2016, 11:09
Hallo Tendo,

A = Bereich.Address
muss VOR die Do-Loop-Schleife.

Frage am Rande:
Loop While Not Bereich Is Nothing And Bereich.Address <> A

Wäre Bereich Nothing, dann hätte Bereich.Address welchen Wert? Was wäre folglich das Ergebnis dieser Zeile?

Ich weiß, dass dieser dämliche und falsche Mustercode seit gefühlten 100 Jahren in der Onlinehilfe steht. Es macht ihn aber nicht besser.

Grüße
EarlFred

Tendo
26.09.2016, 13:16
Hi EarlFred,

vielen Dank für deine Hilfestellung. Das war das Problem.

Gruß
Tendo