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

Forumthread: Zellen verschieben per VBA

Zellen verschieben per VBA
16.02.2005 13:55:58
Hans
Hi Excelforum,
habe folgendes Makro erstellt um die Zellen nach unten zu verschieben.

Sub verschieben()
Range("B:L").Select
ActiveCell.EntireRow.Insert Shift:=xlDown
End Sub

Funktioniert auch soweit ausser das er immer von der ersten Zelle an den Abschnitt nach unten verschiebt und nicht von der Aktiven Zelle aus.
Hoffe ihr könnt mir rat geben
Gruß Hans
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen verschieben per VBA
harry
hi,
Range("B:L").Select markiert die kompletten SPALTEN.
ActiveCell.EntireRow.Insert Shift:=xlDown fügt eine ZEILE ein.
irgendetwas stimmt da nicht. was soll eigentlich geschehen?
liebe grüße,
harry
AW: Zellen verschieben per VBA
Hans
Hi, ich wollte in dem bereich B bis L die zeilen nach unten verschieben. In dem Bereic wo die Aktive Zelle ist. Dann soll sich die Zelle A nicht nach unter verschieben.
Gruß Hans
Anzeige
AW: Zellen verschieben per VBA
harry
dann musst du die ZEILE markieren, nicht die ganzen spalten. z.b.
Range("B1:L1").Insert Shift:=xlDown
liebe grüße,
harry
;

Forumthreads zu verwandten Themen

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

Zellen verschieben per VBA


Schritt-für-Schritt-Anleitung

Um Zellen in Excel mithilfe von VBA zu verschieben, kannst du ein einfaches Makro erstellen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub verschieben()
        ' Aktive Zeile nach unten verschieben
        ActiveCell.EntireRow.Insert Shift:=xlDown
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Wähle die Zelle aus, unter der du die Zeile einfügen möchtest, und führe das Makro aus.

Mit diesem Makro wird die aktive Zeile nach unten verschoben, ohne dass die Zellen in Spalte A betroffen sind.


Häufige Fehler und Lösungen

  • Fehler: Das Makro verschiebt immer die erste Zeile.

    • Lösung: Stelle sicher, dass du die aktive Zelle korrekt auswählst, bevor du das Makro ausführst. Verwende ActiveCell.EntireRow.Insert Shift:=xlDown, um die Zeile der aktiven Zelle zu verschieben.
  • Fehler: Die komplette Spalte wird verschoben.

    • Lösung: Achte darauf, dass du nicht Range("B:L").Select verwendest, da dies die gesamten Spalten markiert. Stattdessen solltest du die aktive Zeile oder einen spezifischen Bereich auswählen.

Alternative Methoden

Neben VBA gibt es auch alternative Methoden, um Zellen in Excel zu verschieben:

  1. Drag & Drop: Halte die Shift-Taste gedrückt und ziehe die Zellen an die gewünschte Position. Dies funktioniert jedoch nur für contiguous ranges.
  2. Ausschneiden und Einfügen: Wähle die Zellen aus, die du verschieben möchtest, drücke Strg + X, gehe zur gewünschten Position, und drücke dann Strg + V, um sie einzufügen.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Zellen mit VBA verschieben kannst:

  1. Verschieben einer bestimmten Zeile:

    Sub verschieben()
        Range("B2:L2").Insert Shift:=xlDown
    End Sub
  2. Verschieben eines Bereichs:

    Sub verschieben()
        Range("B2:L10").Insert Shift:=xlDown
    End Sub

Diese Beispiele zeigen, wie du spezifische Zeilen oder Bereiche durch VBA verschieben kannst, ohne die gesamte Spalte zu beeinflussen.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren. Das beschleunigt den Prozess.

    Sub verschieben()
        Application.ScreenUpdating = False
        ActiveCell.EntireRow.Insert Shift:=xlDown
        Application.ScreenUpdating = True
    End Sub
  • Teste dein Makro zuerst in einer Kopie deiner Excel-Datei, um unerwünschte Änderungen zu vermeiden.

  • Nutze die Möglichkeit von Schleifen, um mehrere Zeilen gleichzeitig zu verschieben.


FAQ: Häufige Fragen

1. Frage
Wie verschiebe ich mehrere Zeilen gleichzeitig?
Antwort: Du kannst eine Schleife verwenden, um mehrere Zeilen zu verschieben. Hier ein Beispiel:

Sub verschieben()
    Dim i As Integer
    For i = 1 To 5 ' Verschiebe 5 Zeilen
        ActiveCell.Offset(i - 1, 0).EntireRow.Insert Shift:=xlDown
    Next i
End Sub

2. Frage
Funktioniert das Makro in allen Excel-Versionen?
Antwort: Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer.

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