Live-Forum - Die aktuellen Beiträge
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
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige