online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Berni333 vom 15.09.2020, 10:53 Options

For Schleife mit Unterbrechungen

Guten Tag zusammen
ich benutze eine For Schleife um alle Zeilen einer Tabelle abzuarbeiten. d.h. es kommt eine Berechnung die Zell wird mit dem Wert gefüllt und dann wird weiter in die nächste Zeile gesprungen. Dies geschieht solange bis das Tabellenende erreicht ist. Jetzt will ich aber dass z.b in Zeiel 8-12 nichts passiert weil das nur leer Zeilen sind. Kann ich die For Schleife auch so laufen lassen dass For i=1 to 7 for i=13 to 200
sprich der Breich von 8 bis 12 wird ausgenommen.
über eine Antwort wäre ich sehr dankbar.
Gruß
Bernhard


Antwort schreiben

Antwort 1 von hrhr vom 15.09.2020, 11:23 Options

hallo,

also muss gestehn, hab für excel noch nit wirklich was geschrieben, allgemein würde man es aber mit ner if machen - also wenn es fix ist das 8 - 12 nix steht kannst z.b. sagen:

if i >=8 && i <=12 then *leere anweisung*
else *deine berechnung*


wenns dynamisch wäre könntest halt sowas machen wie


if value.at(i) != null then *deine berechnung*
else *leere anweisung*


die syntax ist natürlich stark pseudo code, aber die herrangehnsweise sollte wohl klar werden :)

lg hrhr

Antwort 2 von Berni333 vom 15.09.2020, 12:43 Options

Hi danke funktioniert bei mir aber nicht richtig

For i = 8 To 275
If Value.at(i) = " " Then
If Cells(5, 25).Value = "Januar" Then
Cells(i, 24).Value = Cells(i, 7).Value - Cells(i, 23).Value

ElseIf Cells(5, 25).Value = "Februar" Then
Cells(i, 24).Value = Cells(i, 8).Value - Cells(i, 23).Value
...
end if
end if
next i

so sieht ein Teil meines Codes aus. was müsste ich ändern das es auch klappt?
Danke
Gruß
Bernhard

Antwort 3 von DaPascha vom 15.09.2020, 12:54 Options

So wie ich den Code interpretiere werden die ganzen If-
Anweisungen nur dann ausgeführt, wenn:
If Value.at(i) = " 
" Then
eintrifft. Was ja nicht Sinn der Sache ist. Ich würde
die erste If-Anweisung wie folgt ändern:
If Value.at(i) != " " 
Then

Also, wenn Value.at(i) nicht leer ist, dann der Wert ermitteln
usw...
Übrigens wenn du nach " " abfragst, dann fragst du nach einem
Leerzeichen ab, "" hingegen bedeutet nichts.

MfG DaPascha

Antwort 4 von Teerbaby vom 15.09.2020, 13:05 Options

ich würde das so machen:

for i=8 to 275
 if i<8 and i>12 then
  select case cells(5,25).value
  case "Januar"
    Cells(i, 24).Value = Cells(i, 7).Value - Cells(i, 23).Value
  case "Februar"
     ...
  End Select
End If
Next

Antwort 5 von Berni333 vom 15.09.2020, 13:56 Options

vielen Dank für die schnellen Antworten. Jetzt klappts auch bei mir.
Vielen Dank & viele Grüße
Bernhard

Ähnliche Themen

EInfach in der schleife schließen ;)
Kennyger  09.03.2007 - 49 Hits - 2 Antworten

Erweiterung der Schleife
mäthesacker  13.08.2007 - 48 Hits - 2 Antworten

schleife beenden
sebal  13.11.2007 - 101 Hits - 5 Antworten

Schleife für Nameliste
Moe23617  14.05.2008 - 38 Hits - 3 Antworten

VBA+For Schleife
Gast00001  04.09.2008 - 30 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026