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

Forumthread: Verschieben von aktiver Zelle

Verschieben von aktiver Zelle
07.04.2016 11:41:20
aktiver
Guten Tag,
habe ein Anliegen, was bisher nicht gelöst ist.
Ganze Zeilen kann ich nach oben und nach unten verschieben.
Allerdings möchte ich noch die Möglichkeit haben aktive Zellen nach Rechts oder nach links zu verschieben. ( Aktive Zelle beinhaltet Wert, Formatierung und Bedingte Formatierungen)
Bsp:
Via Button ( Rechts ) und ( Links) möchte ich das sich die AKTIVE Zelle wenn sie ausgewählt wurde demensprechend nach links oder rechts verschieben lässt.
Die danebenliegende Zellen soll nicht überschrieben werden sondern ebenfalls nach rechts mitlaufen, samt Formatierungen, bedingte Formatierungen etc...
Hoffe Ihr habt einen Lösungsvorschlag.
Beste Grüße und vielen Dank.

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschieben von aktiver Zelle
07.04.2016 12:14:55
aktiver
Hallo
meinst du das so?

Sub Nach_links()
With Range(ActiveCell, ActiveCell.Offset(0, -1))
.Cut
.Offset(0, -1).Insert Shift:=xlToRight
End With
End Sub
Sub Nach_rechts()
With Range(ActiveCell, ActiveCell.Offset(0, 1))
.Cut
.Offset(0, 3).Insert Shift:=xlToRight
End With
End Sub
Sub Nach_oben()
With Range(ActiveCell, ActiveCell.Offset(-1, 0))
.Cut
.Offset(-1, 0).Insert Shift:=xlDown
End With
End Sub
Sub Nach_unten()
With Range(ActiveCell, ActiveCell.Offset(1, 0))
.Cut
.Offset(3, 0).Insert Shift:=xlDown
End With
End Sub
Gruß UweD

Anzeige
AW: Verschieben von aktiver Zelle
07.04.2016 12:15:26
aktiver
Hallo,
so?
Sub rechts()
ActiveCell.Insert xlToRight
End Sub
Sub links()
ActiveCell.Offset(, -1).Delete xlToLeft
End Sub

Gruß
Rudi

AW: Verschieben von aktiver Zelle
07.04.2016 13:17:13
aktiver
Hallo zusammen,
vielen lieben Dank für eure Antworten.
@Uwe, bei deiner Lösung verschieben sich nicht alle zellen um eins nach rechts, sondern zum Verständnis: Angenommen A1 ist die aktive Zelle dann springt diese in C1 und Inhalt aus C1 springt in A1.
@Rudi, bei deiner Lösung verschiebt sich leider alles, was aber vielleicht daran lag es doch mein versehen ist.
Ich hätte noch zwei weitere Ideen die es vermutlich bringen könnten:
Wenn in Zelle A1 ein Wert X steht (1-7) dann sollen Sich die Zelleninhalte in D1 und F1 um eine Zelle nach rechts verschieben (NUR DIE ZELLENINHALTE), sprich nach E1 und G1.
Oder man nimmt die aller erste Idee und rückt alles via Button weiter und überschreibt dann regelrecht die nächste Zelle, sodass Formatierung und Wert in der neuen Zelle ihren Platz findet.
Ich hoffe ihr könnt mir folgen und vielen Dank.

Anzeige
Bahnhof
07.04.2016 13:50:18
UweD
du wolltest die aktive plus die Zelle daneben verschieben..
Zeig doch mal ein Beispiel mit vorher / nachher

AW: Bahnhof
07.04.2016 15:59:17
UweD
Hallo nochmal
so?
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren

Private Sub CommandButton1_Click() 'rechts
Dim Z&, C%, LC%
Z = ActiveCell.Row
C = ActiveCell.Column
LC = Cells(Z, Columns.Count).End(xlToLeft).Column
With Range(Cells(Z, C), Cells(Z, LC))
.Cut .Offset(0, 1)
End With
Cells(1, C).Copy
Cells(Z, C).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Cells(Z, C + 1).Select
End Sub
Sub CommandButton2_Click() 'links()
Dim Z&, C%, LC%
Z = ActiveCell.Row
C = ActiveCell.Column
If C = 1 Then
MsgBox "Ist schon vorne"
Exit Sub
End If
LC = Cells(Z, Columns.Count).End(xlToLeft).Column
With Range(Cells(Z, C), Cells(Z, LC))
.Cut .Offset(0, -1)
End With
Cells(1, LC).Copy
Cells(Z, LC).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Cells(Z, C - 1).Select
End Sub
Gruß UweD
Über Rückmeldungen würde ich mich freuen

Anzeige
noch einige Fehler abgefangen...
07.04.2016 16:27:36
UweD

Private Sub CommandButton1_Click() 'rechts
Dim Z&, C%, LC%
Z = ActiveCell.Row
C = ActiveCell.Column
LC = Cells(Z, Columns.Count).End(xlToLeft).Column
If LC 

AW: noch einige Fehler abgefangen...
07.04.2016 17:23:32
Marvin
Hey Uwe!
Das ist richtig stark, genau das was ich gebraucht habe, zwar macht es wohl auf den ersten Blick noch Probleme, sobald es an einer Bed. Formatierung vorbei muss, aber das löse ich noch.
Vielen Dank für die super Lösung und für deine Mühe!
Beste Grüße
Anzeige
;

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

Aktive Zellen in Excel verschieben: Eine praktische Anleitung


Schritt-für-Schritt-Anleitung

Um aktive Zellen in Excel nach rechts oder links zu verschieben, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zum VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (deine Datei)“ und wähle „Einfügen“ > „Modul“.
  3. Kopiere den folgenden Code in das Modul:

    Sub Nach_links()
       With Range(ActiveCell, ActiveCell.Offset(0, -1))
           .Cut
           .Offset(0, -1).Insert Shift:=xlToRight
       End With
    End Sub
    
    Sub Nach_rechts()
       With Range(ActiveCell, ActiveCell.Offset(0, 1))
           .Cut
           .Offset(0, 1).Insert Shift:=xlToRight
       End With
    End Sub
  4. Füge Buttons hinzu:

    • Gehe zurück zu Excel und füge zwei Buttons (Schaltflächen) hinzu. Weise den jeweiligen Makros „Nach_links“ und „Nach_rechts“ zu.
  5. Teste die Buttons:

    • Wähle eine Zelle aus und klicke auf die Buttons, um die Zelle nach links oder rechts zu verschieben.

Häufige Fehler und Lösungen

  • Problem: Die Zelle springt nicht wie gewünscht.

    • Lösung: Stelle sicher, dass du die richtigen Zellen auswählst und überprüfe den VBA-Code auf Fehler.
  • Problem: Formatierungen gehen verloren.

    • Lösung: Verwende die PasteSpecial-Methode, um nur die Formatierungen zu übertragen, wie in den Beispielen gezeigt.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du die Zellen manuell verschieben:

  1. Manuelles Verschieben:

    • Markiere die Zelle, die du verschieben möchtest.
    • Halte die Shift-Taste gedrückt und ziehe die Zelle in die gewünschte Richtung.
  2. Verwenden der Funktion „Ausschneiden und Einfügen“:

    • Rechtsklicke auf die Zelle, wähle „Ausschneiden“ und klicke dann auf die Zelle, in die du sie verschieben möchtest. Wähle „Einfügen“ aus dem Kontextmenü.

Praktische Beispiele

  1. Beispiel für das Verschieben nach rechts: Angenommen, du hast in Zelle A1 den Wert „Test“. Durch das Ausführen des „Nach_rechts“-Makros wird der Wert von A1 in B1 verschoben und die Formatierung bleibt erhalten.

  2. Beispiel für das Verschieben mehrerer Zellen: Wenn du die Zellen A1 und B1 nach rechts verschieben möchtest, kannst du den folgenden Code verwenden:

    Sub Mehrere_Nach_rechts()
       Range("A1:B1").Cut Destination:=Range("B1")
    End Sub

Tipps für Profis

  • Nutze die Offset-Methode, um Zellen dynamisch zu verschieben.
  • Kombiniere mehrere VBA-Skripte in einem Modul, um eine benutzerdefinierte Benutzeroberfläche zu erstellen.
  • Überlege, ob du zusätzliche Bedingungen in den Code einfügen möchtest, z.B. um nur bestimmte Zellen zu verschieben, wenn sie nicht leer sind.

FAQ: Häufige Fragen

1. Wie verschiebe ich Zellen nach unten? Um Zellen nach unten zu verschieben, kannst du den folgenden VBA-Code verwenden:

Sub Nach_unten()
    ActiveCell.Offset(1, 0).Value = ActiveCell.Value
    ActiveCell.ClearContents
End Sub

2. Wie kann ich mehrere Zeilen gleichzeitig verschieben? Du kannst den Bereich wie folgt definieren:

Sub Mehrere_Zeilen_Verschieben()
    Range("A1:A10").Cut Destination:=Range("B1")
End Sub

3. Was passiert mit bedingten Formatierungen? Bedingte Formatierungen bleiben erhalten, solange du die Cut- und Insert-Methoden korrekt anwendest.

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