Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit For Next Schleife: Sprint immer 2 weit

Problem mit For Next Schleife: Sprint immer 2 weit
19.01.2006 14:35:36
Thomas
Hallo!
Ich habe ein Problem mit einer For Next Schleife.
Ich habe eine Mappe mit über 40 Tabellen wobei nicht alle für jeden Anwender benötigt werden.
Am Anfang wird daher der Anwender gefragt wieviel Tabellenblätter er benötigt.
Der Rest soll mithilfe der For Next Schleife gelöscht werden (Das Erste Blatt ist das Auswahlblatt und soll deshalb nicht gelöscht werden)
Hier meine Prozedur:

Sub Löschen()
Dim Loe As Byte
Dim Eing As Byte
For Loe = Eing + 1 To 46
Scheets(Loe).delete
Next
End Sub

Ich weiß nicht warum aber wenn die Schleife durchlaufen wird, wird nur jedes zweite Blatt gelöscht!!!
Woran liegt das? Selbst wenn ich Step 1 hinten dran schreibe passiert das.
Ich bin am verweifeln.
Grüße
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit For Next Schleife: Sprint immer 2 weit
19.01.2006 14:40:05
ede
hallo thomas,
lass die schleife von hinten laufen, dann wirst du mehr erfolg haben!
gruss
AW: Problem mit For Next Schleife: Sprint immer 2 weit
19.01.2006 14:46:26
Thomas
Vielen Dank Ede!
Das war's, manchmal ist die Lösung so einfach!
Gruß
Thomas
AW: Problem mit For Next Schleife: Sprint immer 2 weit
19.01.2006 14:52:22
ede
bitte,ich hätte es so gemacht:

Sub löschen()
anz = 3
gesamt = Sheets.Count
For i = gesamt To anz + 1 Step -1
Sheets(i).Delete
Next i
End Sub

AW: Problem mit For Next Schleife: Sprint immer 2 weit
19.01.2006 14:40:51
u_
Hallo,
is doch logisch. Wenn du blatt2 löschst, wird Blatt3 zu 2. Dann löschst du das neue Blatt3, das ist das alte Blatt4 und blatt5 wird zu blatt3 etc.
Lösche von hinten.
Gruß
Geist ist geil!
Anzeige
AW: Problem mit For Next Schleife: Sprint immer 2 weit
19.01.2006 14:46:32
Markus
Hallo Thomas,
Beispiel:
Name: 1 2 3 4 5 6
Blattnummer 1 2 3 4 5 6
Loe = 2, weil das 1. Blatt nicht gelöscht werden soll. Also wird Blatt 2 gelöscht.
Name: 1 3 4 5 6
Blattnummer 1 2 3 4 5
Zähler ist nun 3, das 3. Blatt wird also gelöscht.
Name: 1 3 5 6
Blattnummer 1 2 3 4
Schon was aufgefallen? Blatt Nummer 2 besteht noch, (Name = 3.)
Lösung:
Wenn ein blatt gelöscht wird, muss, da das nachfolgende Blatt auf dieselbe Position aufrückt, der Zähler wieder verringert werden mit loe = loe-1. Durch die Schleife wird er wieder zu 2, ds 2. Blatt wird wieder gelöscht.
Eleganter so:
For i = Loe + 1 To Worksheets.Count
Worksheets(Loe+1).Delete
Next
Gruß Markus
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige