Anzeige
Archiv - Navigation
1004to1008
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
Inhaltsverzeichnis

Makro läuft nicht richtig - Makrorecorder

Makro läuft nicht richtig - Makrorecorder
28.08.2008 17:03:35
trebor-robert
Hallo zusammen,
habe mir mit Makrorecorder folgendes Makro aufgenommen, welches aber nicht richtig funktioniert

Sub zeilenrunter()
' zeilenrunter Makro
' Makro am 28.08.2008 von name aufgezeichnet
' Tastenkombination: Strg+q
ActiveCell.Range("A1:I1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Range("A1:A3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.End(xlDown).Select
End Sub
Was soll es machen.
Ich habe einen Zeilenaufbau, beginnend in Zeile 1
Zeile 1 ist gefüllt
Zeile 2 leer
Zeile 3 leer
Zeile 4 ist gefüllt
Zeile 5 leer
Zeile 6 leer
Zele 7 leer
Zeile 8 gefüllt
Das Makro soll immer den Inhalt aus der gefüllten Zeile in die nächsten, darunterliegenden  _
Zeilen runterkopieren die bis an die nächste ausgefüllte Zeile heranreicht und dann zur nä _
chsten gefüllten Zeile springen.  Vom Bsp. oben ausgehend muss Zeile 1 nach Zeile 2 und 3 kopiert werden. Zeile 4 soll nach Zeilen 5,6 und 7 kopiert werden.
Das Makro füllt aber immer nur 2 Zeilen aus, da ich im Beispielfall während der  _
Makrorecorderaufnahme halt nur 2 Zeilen hatte.
Wer kann helfen? Mit VBA kann ich bisher nur mit Macrorecorder arbeiten, daher bitte ich um  _
einfache Erklärungen.
Danke
trebor-robert


		

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

Betreff
Datum
Anwender
Anzeige
Spalte auffüllen
28.08.2008 17:11:48
Backowe
Hi,
VBA-Code:
Sub ZellenAusfuellen()
Dim Zelle As Range
Dim AlterWert As Variant
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
  If Zelle <> "" Then
    AlterWert = Zelle
  Else
    Zelle = AlterWert
  End If
Next
End Sub
Gruß Jürgen
Sorry, hatte die Erklärung vergessen!
Backowe

Hi,
VBA-Code:
Option Explicit
Sub ZellenAusfuellen()
Dim Zelle As Range
Dim AlterWert As Variant
'For-Schleife läuft über alle Zellen von A1 bis zu letzten gefüllten Zelle in Spalte A
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
  If Zelle <> "" Then 'wenn die Zelle gefüllt ist, schreibe den Wert in eine Variable
    AlterWert = Zelle
  Else
    Zelle = AlterWert 'ist die Zelle leer, wird die Variable in die Zelle geschrieben.
  End If
Next
End Sub
Gruß Jürgen
Ich habe gestern einen Roman geschrieben!
Backowe

Hi,
VBA-Code:
Sub SpalteAuffüllen()
Dim Zelle As Range
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
  If Zelle = "" Then Zelle = Zelle.Offset(-1)
Next
End Sub
Gruß Jürgen
Anzeige
Sorry, hatte die Erklärung vergessen!
28.08.2008 19:29:00
Backowe
Hi,
VBA-Code:
Option Explicit
Sub ZellenAusfuellen()
Dim Zelle As Range
Dim AlterWert As Variant
'For-Schleife läuft über alle Zellen von A1 bis zu letzten gefüllten Zelle in Spalte A
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
  If Zelle <> "" Then 'wenn die Zelle gefüllt ist, schreibe den Wert in eine Variable
    AlterWert = Zelle
  Else
    Zelle = AlterWert 'ist die Zelle leer, wird die Variable in die Zelle geschrieben.
  End If
Next
End Sub
Gruß Jürgen
Ich habe gestern einen Roman geschrieben!
Backowe

Hi,
VBA-Code:
Sub SpalteAuffüllen()
Dim Zelle As Range
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
  If Zelle = "" Then Zelle = Zelle.Offset(-1)
Next
End Sub
Gruß Jürgen
Anzeige
Ich habe gestern einen Roman geschrieben!
29.08.2008 09:17:16
Backowe
Hi,
VBA-Code:
Sub SpalteAuffüllen()
Dim Zelle As Range
For Each Zelle In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
  If Zelle = "" Then Zelle = Zelle.Offset(-1)
Next
End Sub
Gruß Jürgen
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige