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

Aufgezeichnetes Makro eine Zeile tiefer

Forumthread: Aufgezeichnetes Makro eine Zeile tiefer

Aufgezeichnetes Makro eine Zeile tiefer
17.09.2018 08:40:32
Saskia
Guten Morgen liebe Formun Mitglieder,
ich habe länger nach einer Lösung für mein Problem gesucht, aber bin leider nicht fündig geworden.
Ich hoffe ihr könnte mir helfen!
Ich habe in der Datei, die ich hier noch anhänge, ein Makro aufgezeichnet das folgendes ausführt.
Ich klicke auf den Button "Schritt 1:..." und dadurch werden die Zellen A2, B2 und C2 markiert und in Zelle A13, B13 und C13 kopiert.
Jetzt möchte ich, dass beim nächsten klick geprüft wird ob in den Zellen A13, B13 und C13 bereits etwas steht und wenn ja, dann sollen die Werte eine Zeile tiefer enigefügt werden, also in A14, B14 und C14. Der nächste klick wieder eine Zeile tiefer und so weiter....
Es sollen also immer die Cellen A2, B2 und C2 kopiert werden und das einfügen soll bewirken, dass meine Tabelle immer weiter ausgefüllt wird.

Hier ist die Datei um die es geht.
https://www.herber.de/bbs/user/124003.xlsm
Ich hoffe sehr, dass ihr mir helfen könnt.
Danke schon mal im Voraus und einen guten Start in die Woche.
Saskia
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: eine Zeile tiefer
17.09.2018 08:52:03
hary
Moin
Sub Makro2()
Dim naechste As Long
naechste = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A2:C2").Cut Cells(naechste, 1)
Rows(naechste).RowHeight = 24.75
End Sub

gruss hary
AW: eine Zeile tiefer
17.09.2018 09:02:22
Saskia
Guten Morgen Hary,
Danke für die schnelle Antwort.
Scheinbar füge ich den Code an falscher Stelle ein, denn so funtioniert es leider nicht. Könntest du mir vielleicht sagen an welchter Setlle des Codes, den ich verwende, ich deinen einfügen müsste?
Entschuldige die Umstände.
Lieben Gruß
Saskia
Anzeige
AW: eine Zeile tiefer
17.09.2018 09:14:18
Saskia
Ich hab mich nicht genau erklärt Verzeihung.
ich habe die Code so eingefügt:

Sub Makro2()
' Makro2 Makro
Range("A2:C2").Select
Selection.Copy
Range("A13").Select
Dim naechste As Long
naechste = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A2:C2").Cut Cells(naechste, 1)
Rows(naechste).RowHeight = 24.75
ActiveSheet.Paste
Range("A2").Select
Rows("13:13").RowHeight = 24.75
Range("A2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("B2").Select
ActiveCell.FormulaR1C1 = ""
Range("C2").Select
ActiveCell.FormulaR1C1 = ""
Range("D3").Select
Wenn ich jetzt den Button benutze macht er was er soll, aber ich bekomme die Meldung:
Laufzeitfehler 1004: Die Paste-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.
Noch mal Danke.
Lieben Gruß
Saskia
Anzeige
Tausch das Makro2 in Modul5 aus owT
17.09.2018 09:14:26
Matthias

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Aufgezeichnetes Makro eine Zeile tiefer


Schritt-für-Schritt-Anleitung

Um dein Makro so zu modifizieren, dass die Werte immer eine Zeile tiefer eingefügt werden, folge diesen Schritten:

  1. Öffne deine Excel-Datei und gehe zum VBA-Editor (drücke ALT + F11).

  2. Finde das Makro, das du aufgezeichnet hast. Es sollte in einem Modul gespeichert sein.

  3. Ersetze den bestehenden Code durch den folgenden Code:

    Sub Makro2()
       Dim naechste As Long
       naechste = Cells(Rows.Count, 1).End(xlUp).Row + 1
       Range("A2:C2").Copy Cells(naechste, 1)
       Rows(naechste).RowHeight = 24.75
    End Sub
  4. Speichere deine Änderungen und schließe den VBA-Editor.

  5. Teste das Makro, indem du auf den Button klickst. Die Werte sollten nun in die nächste freie Zeile eingefügt werden.


Häufige Fehler und Lösungen

  1. Laufzeitfehler 1004: Die Paste-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.

    • Lösung: Stelle sicher, dass du den Paste-Befehl nicht verwendest. Stattdessen kannst du Copy verwenden, um die Daten zu kopieren, und direkt in die Zielzelle einzufügen.
  2. Das Makro funktioniert nicht wie gewünscht.

    • Lösung: Überprüfe, ob das Makro im richtigen Modul gespeichert ist und ob die Zellen, die du kopieren möchtest, die richtigen Werte enthalten.

Alternative Methoden

Wenn du keine Makros verwenden möchtest, gibt es auch die Möglichkeit, die gleiche Funktionalität über Excel-Formeln zu erreichen. Du könntest beispielsweise einen Button verwenden, der eine Formel in die nächste Zeile einfügt, basierend auf den Werten von A2, B2 und C2.


Praktische Beispiele

Angenommen, du hast in Zelle A2 den Wert "Name", in B2 "Alter" und in C2 "Stadt". Nach dem Ausführen des Makros wird das Ergebnis in A13, B13 und C13 erscheinen. Weitere Klicks auf den Button fügen die Daten in A14, B14 und C14 ein und so weiter.


Tipps für Profis

  • Verwende Option Explicit: Füge zu Beginn deines Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Fehlerbehandlung einfügen: Du kannst eine Fehlerbehandlung in dein Makro einfügen, um sicherzustellen, dass das Makro nicht einfach abstürzt, sondern stattdessen eine hilfreiche Fehlermeldung ausgibt.

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Warum funktioniert mein Makro nicht? Es kann an einem Syntaxfehler oder an der Platzierung des Codes liegen. Stelle sicher, dass der Code im richtigen Modul eingefügt wurde und dass alle Variablen korrekt deklariert sind.

2. Kann ich das Makro auf andere Zellen anwenden? Ja, du kannst die Zellreferenzen im Code anpassen, um andere Zellen zu kopieren oder einzufügen. Achte darauf, die richtigen Bereiche anzugeben, um unerwünschte Fehler zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige