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

Forumthread: Markierte zelle kopieren und darunter einfügen

Markierte zelle kopieren und darunter einfügen
25.01.2014 17:33:08
Larcher
Hallo Profis
Ich verstehe nichts mehr
Ich brauche Hilfe bei einem VBA code
Hab einen button der mir eine neue Zeile einfügen soll
und zwar wenn ab zeile 38 eine zelle ausgewählt wird soll er mir die werte in der ganzen Zeile kopieren und darunter einfügen.
mein code sieht bis jetzt so aus
Sub neueleereZeileeinfuegen()
' neueleereZeileeinfuegen Makro
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
If MsgBox("wollen sie wirklich im ausgewählten Bereich eine zeile einfügen?", vbYesNo) =  _
vbYes Then
If Selection.Row > 38 Then Rows(Selection.Row).Resize(Selection.Rows.Count).Insert Shift:= _
xlDown
Else
End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Rückfrage(n)
25.01.2014 18:06:53
Matze
Hallo Rene,
ist es denn so gemeint in deinem Beispiel das Zeile 38 momentan die Letzte Zeile ist und diese dann kopiert werden soll?
Später dann wieder das gleiche "immer mit der letzten Zeile" ?
sind Formeln in der zu kopierenden Zeile?
sollen die Formate mit übernommen werden?
Sollen nur "werte" kopiert werden?

Anzeige
AW: Rückfrage(n)
25.01.2014 18:38:29
Matze
Hallo Rene,
lediglich kopieren der Zeile und einfügen
Sub neueleereZeileeinfuegen()
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
If MsgBox("wollen sie wirklich im ausgewählten Bereich eine zeile einfügen?", vbYesNo) = vbYes  _
Then
If Selection.Row > 38 Then
Rows(Selection.Row).Copy 'kopiert
Rows(Selection.Row).Insert Shift:=xlDown
Application.CutCopyMode = False
End If
End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub
Matze

Anzeige
AW: Rückfrage(n)
26.01.2014 04:09:14
Larcher
Hallo Matze
Ich bin begeistert genau das hab ich gesucht
ab Zeile 38 dürfen Zeilen eingefügt werden und davor nicht und die werte von der markierten
Zelle sowie Formeln werden übernommen.
Einfach Perfekt.
Ach kann ich hier noch was einbauen ?
zb wenn eine Zelle vor der 38 markiert wurde das zb eine msgbox kommt " erst ab Zeile 38 möglich "
oder so ?
Danke Gruß Rene

Anzeige
Du hattest doch schon mal ELSE im Code ...
26.01.2014 07:37:05
Matthias
Hallo
 If Selection.Row > 38 Then
Rows(Selection.Row).Copy 'kopiert
Rows(Selection.Row).Insert Shift:=xlDown
Application.CutCopyMode = False
Else
MsgBox ("DeinText")
End If
Gruß Matthias
;
Anzeige
Anzeige

Infobox / Tutorial

Markierte Zelle kopieren und darunter einfügen in Excel


Schritt-für-Schritt-Anleitung

Um eine markierte Zelle in Excel zu kopieren und darunter einzufügen, kannst du den folgenden VBA-Code verwenden. Dieser Code fügt eine neue Zeile unter der markierten Zeile ein, wenn die Auswahl ab Zeile 38 erfolgt.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub neueleereZeileeinfuegen()
    ActiveSheet.Unprotect
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    If MsgBox("Wollen Sie wirklich im ausgewählten Bereich eine Zeile einfügen?", vbYesNo) = vbYes Then
        If Selection.Row > 38 Then
            Rows(Selection.Row).Copy 'kopiert
            Rows(Selection.Row).Insert Shift:=xlDown
            Application.CutCopyMode = False
        Else
            MsgBox "Erst ab Zeile 38 möglich"
        End If
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    ActiveSheet.Protect
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Füge einen Button hinzu, um das Makro auszuführen. Weise dem Button das Makro neueleereZeileeinfuegen zu.

Häufige Fehler und Lösungen

Fehler 1: Makro läuft nicht

  • Stelle sicher, dass die Makros in Excel aktiviert sind. Überprüfe die Excel-Optionen unter "Trust Center".

Fehler 2: MsgBox erscheint nicht

  • Überprüfe, ob die Zeile, die du ausgewählt hast, kleiner oder gleich 38 ist.

Alternative Methoden

Eine alternative Methode, um eine Zeile zu kopieren und einzufügen, ist die Verwendung von Excel-Formeln oder die Drag-and-Drop-Funktion. Hier ist eine kurze Anleitung:

  1. Wähle die gesamte Zeile, die du kopieren möchtest.
  2. Drücke Strg + C, um die Zeile zu kopieren.
  3. Klicke mit der rechten Maustaste auf die Zeile, unter der du die Kopie einfügen möchtest, und wähle "Einfügen".

Praktische Beispiele

Angenommen, du hast Werte in Zeile 39 und möchtest diese unterhalb in Zeile 40 einfügen. Mit dem obigen VBA-Code wird die gesamte Zeile 39 kopiert und unter der markierten Zeile eingefügt, solange du eine Zeile ab 38 auswählst.


Tipps für Profis

  • Du kannst die MsgBox anpassen, um spezifische Anweisungen für den Benutzer anzuzeigen.
  • Überlege, ob du auch die Formatierungen der Zellen mitkopieren möchtest, indem du Rows(Selection.Row).Copy anpasst, um nur Werte oder Formate zu kopieren.

FAQ: Häufige Fragen

1. Kann ich den Code anpassen, um nur Werte zu kopieren?
Ja, du kannst die Zeile Rows(Selection.Row).Copy durch Rows(Selection.Row).Copy Destination:=Rows(Selection.Row + 1) ersetzen, um nur die Werte zu kopieren.

2. Wie kann ich den Button anpassen, um das Makro auszuführen?
Gehe zu "Entwicklertools", klicke auf "Einfügen" und wähle einen Button aus. Weise dem Button dann das Makro neueleereZeileeinfuegen zu.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

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