Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: variable Zeilen kopieren und einfügen mit VBA

variable Zeilen kopieren und einfügen mit VBA
13.05.2004 20:31:19
floh
Hallo VBA Experten,
möchte einen vabriablen Zeilenbereich kopieren und an anderer Stelle mit Hilfe von VBA einfügen
Grund : das Blattschutz von Hand aufheben umgehen
das soll im Detail wie folgt aussehen:
1. vor Makroaktivierung makiere ich einen Zellbereich X (z.B G6:G10)
2. ich aktiviere ein Makro über eine Tastenkombination
3. das Makro führt aus:
3.1 Selektieren und kopieren der makierten Zeilen X(in diesem Bsp. Zeile 6:10)
..... Selection.EntireRow.Insert
..... Selection.copy

3.2 MSG Box fordert auf:
....."Markieren sie eine Zelle hinter der eingfügt werden soll"
3.3 die Zeilen X(Bsp 6:10) werden unter der neu makierten Zelle eingefügt
Ist das zu lösen ?
Gruß floh
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable Zeilen kopieren und einfügen mit VBA
Ramses
Hallo
dem Makro kannst du über "Extras - Makro - Optionen" einen Shortcut zuweisen
Option Explicit

Sub Individual_Copy()
Dim myQ As Range
Dim myTarget As Range
Set myQ = Selection
Set myTarget = Application.InputBox("Hinter welcher Zelle soll eingefügt werden ?", "Zielzelle wählen", Type:=8)
If Not myTarget Is Nothing Then
myQ.Copy Destination:=myTarget
Application.CutCopyMode = False
End If
End Sub

Gruss Rainer
Anzeige
AW: variable Zeilen kopieren und einfügen mit VBA
13.05.2004 22:32:12
floh
Hallo Rainer,
so in der Art habe ich mir das Makro vorgestellt
allerdings wäre es gut wenn

nur Zellbereiche markiert sind :
trotzdem/ immer die ganze Zeilen kopiert und auch wieder eingefügt werden
Grund : ich habe in meiner erstellten Tabelle nicht die Möglichkeit
ganze Zeile zu markieren weil die Spalte A-E durch scroll aera gesperrt sind.
Kann man das Makro so umschreiben?
Anzeige
AW: variable Zeilen kopieren und einfügen mit VBA
Ramses
Hallo
"...ganze Zeile zu markieren weil die Spalte A-E durch scroll aera gesperrt sind...."
Was hat das mit dem markieren der Zeilen zu tun ?
Option Explicit

Sub Individual_Copy()
Dim myQ As Range, myC As Range
Dim myTarget As Range
Dim stRow As Integer, endRow As Integer
stRow = Selection.Row
endRow = 1
Set myQ = Selection
Set myTarget = Application.InputBox("Hinter welcher Zelle soll eingefügt werden ?", "Zielzelle wählen", Type:=8)
If Not myTarget Is Nothing Then
For Each myC In myQ
If myC.Row > endRow Then
endRow = myC.Row
End If
Next
Rows(stRow & ":" & endRow).Copy
Rows(myTarget.Row).Select
ActiveSheet.Paste
Application.CutCopyMode = False
myTarget.Select
End If
End Sub

Gruss Rainer
Anzeige
AW: variable Zeilen kopieren und einfügen mit VBA
13.05.2004 23:41:58
floh
Hallo Rainer
Diese Lösung ist perfekt
echt coooooooooool
Betreff markieren Zeilen:
Ich konnte Deinen ersten Vorschlag nicht einsetzen, weil
ich des Markieren von Zellen in den Spalten A,B,C usw. über scroll aera unmöglich gemacht habe(reiner Selbstschutz). Also konnte ich auch nicht eine ganze Zeile markieren.
Vielen Dank floh
Anzeige
Merci :-) Geschlossen o.T.
Ramses
...
;

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
Anzeige
Anzeige

Infobox / Tutorial

Variable Zeilen kopieren und einfügen mit VBA


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne Excel und gehe zu Entwicklertools > Visual Basic. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  2. Code einfügen: Kopiere und füge den folgenden VBA-Code ein:

    Sub Individual_Copy()
        Dim myQ As Range, myC As Range
        Dim myTarget As Range
        Dim stRow As Integer, endRow As Integer
        stRow = Selection.Row
        endRow = 1
        Set myQ = Selection
        Set myTarget = Application.InputBox("Hinter welcher Zelle soll eingefügt werden ?", "Zielzelle wählen", Type:=8)
        If Not myTarget Is Nothing Then
            For Each myC In myQ
                If myC.Row > endRow Then
                    endRow = myC.Row
                End If
            Next
            Rows(stRow & ":" & endRow).Copy
            Rows(myTarget.Row).Select
            ActiveSheet.Paste
            Application.CutCopyMode = False
            myTarget.Select
        End If
    End Sub
  3. Makro zuweisen: Gehe zu Extras > Makro > Optionen, um dem Makro einen Shortcut zuzuweisen, z.B. Strg + Shift + C.

  4. Zellenbereich auswählen: Markiere den Zellbereich, den du kopieren möchtest.

  5. Makro ausführen: Nutze den Shortcut, um das Makro zu aktivieren. Eine Eingabebox wird angezeigt, in der du die Zielzelle auswählen kannst, hinter der die Zeilen eingefügt werden sollen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro kopiert die falschen Zeilen.

    • Lösung: Stelle sicher, dass du nur die Zellen im gewünschten Bereich markierst. Das Makro ermittelt die Zeilen anhand der markierten Zellen.
  • Fehler: Die Eingabebox erscheint nicht.

    • Lösung: Vergewissere dich, dass die Makros aktiviert sind. Du kannst dies unter Datei > Optionen > Trust Center überprüfen.

Alternative Methoden

Falls du eine schnellere Lösung benötigst, kannst du auch die Excel-Shortcuts verwenden:

  • Ganze Zeile markieren: Du kannst die Tastenkombination Shift + Leertaste verwenden, um die gesamte Zeile auszuwählen.
  • Kopieren und Einfügen: Nutze Strg + C zum Kopieren und Strg + V, um die Zeilen einzufügen.

Eine Kombination aus VBA und Shortcuts kann dir helfen, effizienter zu arbeiten.


Praktische Beispiele

  • Beispiel 1: Du hast die Zellen G6:G10 ausgewählt und möchtest die gesamten Zeilen 6 bis 10 kopieren. Nach dem Drücken des Shortcuts wird nach einer Zelle gefragt, hinter der eingefügt werden soll, beispielsweise G12.

  • Beispiel 2: Wenn du die Zeilen 1 bis 5 kopieren möchtest, während nur eine Zelle in Spalte F markiert ist, wird das Makro die ganze Zeile kopieren, ohne dass du die Zeilen manuell auswählen musst.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler durch nicht deklarierte Variablen zu vermeiden.
  • Testen in einer Kopie der Datei: Experimentiere mit dem VBA-Code in einer Testdatei, um unerwünschte Änderungen an wichtigen Daten zu vermeiden.
  • Schutz aufheben: Stelle sicher, dass der Blattschutz vor dem Ausführen des Makros aufgehoben ist, um Probleme beim Einfügen der Zeilen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die gesamte Zeile markieren, wenn die Spalten A-E gesperrt sind?
Du kannst die gesamte Zeile trotzdem mit der Tastenkombination Shift + Leertaste markieren, indem du zuerst eine Zelle in der gewünschten Zeile auswählst.

2. Kann ich das Makro anpassen, um mehrere Bereiche gleichzeitig zu kopieren?
Ja, du kannst das Makro erweitern, um mehrere Bereiche zu verarbeiten, indem du eine Schleife verwendest, die durch die ausgewählten Zellen iteriert.

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