Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA For-next Schleife: brauche kleinen Denkanstoss

Forumthread: VBA For-next Schleife: brauche kleinen Denkanstoss

VBA For-next Schleife: brauche kleinen Denkanstoss
16.09.2005 09:40:19
Klaus
Hallo Leute,
Ich hab mir mit Codefetzen aus der Recherche einen VBA Code zur Ermittlung der letzten benutzten Zeile gebastelt.
(Erklärung: Die Liste fängt in Zeile 11 an, darum k2=11. In Spalte 9 und Spalte 16 stehen bis ans Listenende kopierte Formeln, darum sollen die bei der Ermittlung übersprungen werden. Es werden 17 Spalten insgesamt benutzt.)

[...]
k2 = 11
For spalteL = 1 To 17
If spalteL = 9 Then GoTo skipformel
If spalteL = 16 Then GoTo skipformel
k = Cells(Rows.Count, spalteL).End(xlUp).Row
If k &gt k2 Then k2 = k
skipformel:
Next spalteL
az = "A" & k2 + 1
Range(az).PasteSpecial Paste:=xlValues
[...]

Funktionieren tut es auch soweit, nur bin ich nicht glücklich mit den "goto"s. Ich hatte an "if spalteL = 9 then resume next" als Abbruch gedacht, aber das gab Laufzeitfehler.
Kann ich den Code eleganter schreiben, eventuell kürzer und ohne Goto's?
Dank und Gruß,
Klaus M.vdT.
P.S.:Ganz toll währs auch, abzufragen ob sich Formeln in den Zellen befinden oder ob sie leer sind statt statisch die Spalten 9 und 16 anzugeben, aber über das Thema schau ich nochmal in die Recherche.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA For-next Schleife: brauche kleinen Denkanstoss
16.09.2005 10:38:21
Volker
Hallo Klaus,
ganz einfach anders herum
For spalteL = 1 To 17
If spalteL &lt&gt 9 and spalteL &lt&gt 16 Then
k = Cells(Rows.Count, spalteL).End(xlUp).Row
If k &gt k2 Then k2 = k
Next spalteL
Gruß
Volker
AW: VBA For-next Schleife: brauche kleinen Denkanstoss
16.09.2005 10:41:24
Peter
Hallo Klaus,
versuchs mal so:
k2 = 11
For spalteL = 1 To 17
If spalteL = 9 Or spalteL = 16 Then Exit For
k = Cells(Rows.Count, spalteL).End(xlUp).Row
If k &gt k2 Then k2 = k
Next spalteL
az = "A" & k2 + 1
Range(az).PasteSpecial Paste:=xlValues
Gruß Peter
Anzeige
Exit For geht nicht, Volkers Lösung läuft
16.09.2005 11:50:04
Klaus
Hallo,
b[Exit FOR]b ist es nicht, dann erreicht die Schleife die 8te Spalte nie, ich muss aber bis Spalte 17 testen.
Volker's Lösung ist dafür genau richtig.
Danke an Beide!
Gruß,
Klaus M.vdT.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige