schleife beenden
Hallo zusammen,
ich habe das probelm ,dass ich eine schleife in meinem makro habe welche kein ende findet, wie kann ich diese beenden?
folgender Sachverhalt:
im tabellenblatt Tabelle3 wird die 5.zeile ab der 2.spalte durchsucht, ob der wert "0" in einer Zelle steht, es kann jedoch auch vorkommen dass der wert "0" nicht gefunden werden kann. Wie beendet man die schleife, wenn in der 5.Zeile alle zellen in denen werte stehen überprüft wurden und nur noch leere zellen folgen?
mir liegt folgendes makro vor:
Sub diagramm()
Dim Zeile As Integer
Dim Spalte As Integer
Zeile = 5
Spalte = 2
kfound = False
Sheets("Tabelle3").Activate
Do Until kfound
If ActiveSheet.Cells(Zeile, Spalte).Value <> "0" Then
Spalte = Spalte + 1
Diagramm1.SetSourceData Source:=Sheets("Tabelle3").Range("B4:GT250"), _
PlotBy:=xlRows
Else
Diagramm1.SetSourceData Source:=Sheets("Tabelle3").Range(Cells(4, 2), Cells(250, Spalte - 1)), _
PlotBy:=xlRows
kfound = True
Exit Do
End If
Loop
End Sub
Vielen Dank
Gruß sebal
Antwort schreiben
Antwort 1 von Martina vom 13.11.2019, 10:28 Options
Hallochen,
versuche es doch mal damit:
...
If ActiveSheet.Cells(Zeile, Spalte).Value <> ("0" or "") Then
...
Dann müsste abgefragt werden, ob der Wert "0" ist, oder es sich um eine leere Zelle handelt.
LG Martina
Antwort 2 von sebal vom 13.11.2019, 10:50 Options
hallo,
danke für den tipp, aber:
wenn abgefragt wird ob die zelle UNGLEICH einem leerzeichen ist, dann springt die schleife ja beim ersten mal gleich heraus, da die erste zelle einen wert beinhaltet, der auf jeden fall nicht "0" ist oder "" ist.
Gruß sebal
Antwort 3 von sebal vom 13.11.2019, 10:52 Options
hallo,
schmarn, das müsste schon hinhaun, ich probiers mal...
gruß sebal
Antwort 4 von sebal vom 13.11.2019, 10:58 Options
hallo,
funktioniert leider nicht, da kommt die meldung
Typen unverträglich
danke
gruß sebal
Antwort 5 von sebal vom 13.11.2019, 11:03 Options
hallo,
wenn ich es ohne klammern schreibe kommt keine meldung, aber dafür eine zeile darunter in dem makroteil
TBD.SetSourceData Source:=Sheets("TBT").Range("B4:GT250"), _
PlotBy:=xlRows
folgende meldung:
objekt erforderlich.
das seltsame: "TBD" ist der name meines diagramms, wenn ich das diagramm "diagramm1" nenne und dann:
diagramm1.SetSourceData Source:=Sheets("TBT").Range("B4:GT250"), _
PlotBy:=xlRows
schreibe funktionierts, wieso?
ich möchte das daigramm nicht diagramm1 nennen,
weist du da rat?
danke
gruß sebal