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

Schleife aber wie?

Schleife aber wie?
27.08.2004 22:12:04
HeinzO
Moin VBA'ler,
kann mir jemand eine Schleife basteln, da meine VBA-Kenntnisse miserable sind, per Recorder habe ich es schon soweit gebracht.

Sub Statistik()
' Statistik Makro
' Makro am 27.08.2004 von Administrator aufgezeichnet
' Tastenkombination: Strg+Umschalt+V
Range("L4:S4").Select
Selection.Copy
Range("L9").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End 

Sub
Mein Problem besteht darin, das das Makro bei jeder neuen Auslösung nicht in L9 sondern in L10, L11 usw. schreiben soll. Also in der darunterliegenden LEEREN Zelle.
Kann mir jemand helfen?
Besten Dank im Voraus!
Thorsten

		

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife aber wie?
27.08.2004 22:38:30
Roland
Hallo Thorsten,
versuch das mal

Sub kopieren()
Dim rng As Range
If Range("L65536").End(xlUp).Row < 9 Then
Set rng = Range("L9")
Else
Set rng = Range("L65536").End(xlUp)
End If
Range("L4:S4").Copy rng.Offset(1, 0)
End Sub

Gruß
Roland
(PS: Hat aber nichts mit einer Schleife zu tun)
AW: Schleife aber wie?
28.08.2004 15:28:32
Klexy
Warum denn so kompliziert?
Einfach die Zeile mit "L9" durch meine Zeile mit "L9" ersetzen. Jetzt geht er von L9 runterwärts zur letzten gefüllten Zelle, also so, als ob du "Strg+Pfeil nach unten" drückst und dann noch einen nach unten und Null nach rechts. Wenn du zwischendrin Leerzellen haben könntest, solltest du besser von unten anfangen und zur letzten leeren Zelle aufwärts gehen. Das wäre dann:
Range("L65536").End(xlUp).Select
Diese relativen befehle sind mit dem Recorder leider nicht aufzuzeichnen im Gegensatz zu den absoluten Befehlen ("Gehe zu Zelle L12")
Tipp:
Offset(-2, -5) würde bedeuten: zwei nach oben und fünf nach links.
Guckst du hier: http://www.excel-vba.com/v-microsoft-excel-range.htm
... und mit Schleife (Befehl: Loop) hat das nix zu tun.

Sub Statistik()
' Statistik Makro
' Makro am 27.08.2004 von Administrator aufgezeichnet
' Tastenkombination: Strg+Umschalt+V
Range("L4:S4").Select
Selection.Copy
Range("L9").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End 

Sub

Anzeige
Erklärung
28.08.2004 15:51:43
Roland
@ Klexy
Ich habe die Frage so verstanden, dasss mit dem Einfügen in L9 begonnen werden soll. Dies stellt die If-then-Abfrage in meinem Ansatz sicher.
Dein Ansatz funktioniert nur, wenn in L10 (oder tiefer) bereits was steht, ansonsten gibts einen 1004er-Fehler, da vergeblich das Zeilen-Offset zu L63356 gesucht wird.
Ich meine daher, mein Ansatz ist nicht zu kompliziert, sondern nur weniger fehleranfällig.
Gruß
Roland
AW: Schleife aber wie?
Thorsten
Danke Roland hat funktioniert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige