Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
312to316
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
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Loop ohne Do

Loop ohne Do
22.09.2003 17:58:35
Elmar Steigenberger
Hallo Ihr lieben Helfer und Helferinnen,

Excel bringt bei mir Loop ohne Do Fehler bei folgenden Code:

If AktuelleSpalte < 22 Or Int((AktuelleSpalte - 22) / 4) <> (AktuelleSpalte - 22) / 4 Then

Antwort = MsgBox("Diese Schaltfäche funktioniert nur in den Summenspalte, nicht in den Spalten der Miet-, Nebenkosten- oder Garagenzahlungen." + RT2 + "Soll in die nächste Summenspalte rechts gewechselt werden?", vbYesNo)

If Antwort = vbNo Then
Exit Sub
Else
Do While ((AktuelleSpalte - 22) / 4) <> (AktuelleSpalte - 22) / 4
AktuelleSpalte = AktuelleSpalte + 1 ' Zähler hochzählen.
If ((AktuelleSpalte - 22) / 4) <> (AktuelleSpalte - 22) / 4 Then ' Wenn Bedingung = True,
Range(ActiveCell.Row, AktuelleSpalte).Select
Exit Do ' Innere Schleife verlassen.
Loop

End If

End If

==========
Wenn der User in die Spalten 22,26,30,34, ... geklickt hat, dann soll die Aktion passieren.

Wenn er z.B. in 19,20,21 geklickt hat dann soll Excel das merken (tut es) und dann die Var. AktuelleSpalte solange hochzählen bis 22 erreicht ist.

Dies müßte doch mit der Do While Loop Anweisung gehen, die habe ich aus der Hilfe kopiert und meine Dinger nur noch eingebaut.

Woher kommt der Fehler?

Vielen Dank fürs Lesen, Eindenken und Antworten!

liebe e-Grüße
Elmar

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Loop ohne Do
22.09.2003 18:01:31
ChrisL
Hi Elmar

Wenn ich dich richtig verstehe, willst du feststellen, ob eine Zahl in der '4er-Reihe' ist. Versuchs mal mit dem Befehl 'Mod' der liefert dir automatisch True oder False.

Gruss
Chris
AW: Loop ohne Do
22.09.2003 18:02:51
xXx
Hallo,
die Meldung ist irreführend. Für meine Begriffe muss das erste End If hinter das Exit Do.

Gruß aus'm Pott
Udo
Ja und Nein, ein End If hat gefehlt! oT
22.09.2003 18:11:38
Elmar Steigenberger
AW: Loop ohne Do
22.09.2003 18:04:04
Nepumuk
Hallo Elmar,
du hast Loop vor dem End If innerhalb der Schleife stehen.
So sollte es laufen:


Option Explicit
Public Sub test()
If AktuelleSpalte < 22 Or Int((AktuelleSpalte - 22) / 4) <> (AktuelleSpalte - 22) / 4 Then
Antwort = MsgBox("Diese Schaltfäche funktioniert nur in den Summenspalte, nicht in den Spalten der Miet-, Nebenkosten- oder Garagenzahlungen." + RT2 + "Soll in die nächste Summenspalte rechts gewechselt werden?", vbYesNo)
If Antwort = vbNo Then
Exit Sub
Else
Do While ((AktuelleSpalte - 22) / 4) <> (AktuelleSpalte - 22) / 4
AktuelleSpalte = AktuelleSpalte + 1 ' Zähler hochzählen.
If ((AktuelleSpalte - 22) / 4) <> (AktuelleSpalte - 22) / 4 Then ' Wenn Bedingung = True,
Range(ActiveCell.Row, AktuelleSpalte).Select
Exit Do ' Innere Schleife verlassen.
End If
Loop
End If
End Sub



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
Anzeige
AW: Loop ohne Do
22.09.2003 18:17:57
Elmar Steigenberger
Hallo Nepumuk,

Danke für die Antwort,

so funzt es....

Jetzt habe ich nur noch das Problem, dass ich als aktuelle Zelle Activecell.row 13 habe und die dann zu wählende aktuelle Spalte dann z.B. 26 hat.

Wie kann ich die jetzt mit Range(AktuelleSpalte, Activecell.row).Select anwählen? Das klappt nicht, vermutlich, weil Excel auf den Spaltenbuchstaben wartet, ich den aber nicht angeben kann, da ja aktuelle Spalte eine Zahl ist und kein Buchstabe.

Wahrscheinlich ziemlich dumme Frage, ich wei´ß es aber einfach nicht.

Veilen Dank fürs Lesen und Antworten

liebe e-Grüße
Elmar
Anzeige
AW: Loop ohne Do
22.09.2003 19:03:47
Nepumuk
Hallo Elmar,
einfach:

Cells(Zeilennummer,Spaltennummer).Select

Gruß
Nepumuk
Danke! Das ich da n. selbst draufgek. bin! oT
22.09.2003 20:34:44
Elmar Steigenberger

63 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige