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

Forumthread: Zeile automatisch nach unten verschieben

Zeile automatisch nach unten verschieben
03.12.2008 08:43:00
donald
Hallo,
ich hätte gern ein Makro für folgendes Problem: Ich habe eine tabelle, und wenn ich in eine Spalte, hier H, "Absage" eintrage, soll mir Excel die ganze Zeile nach unten verschieben, z.B. in Zeile 50. Bei einem anderen Wort, "Auftrag", soll mir die ganze Zeile auch verschoben werden, z.B. in zeile 60 ff.
Hab gestern schon mal gefragt und folgendes Makro erhalten:

Private Sub Worksheet_Change2(ByVal target As Range)
Wert = target.Value
Spalte = ActiveCell.Column
Select Case Spalte
Case Is = 8
If Wert = "Absage" Then
Rows(ActiveCell.Row - 1).Select
Selection.Cut
Rows("51:51").Select
Selection.Insert Shift:=xlDown
End If
If Wert = "Auftrag" Then
Rows(ActiveCell.Row - 1).Select
Selection.Cut
Rows("61:61").Select
Selection.Insert Shift:=xlDown
End If
End Select
End Sub


Allerdings funktioniert es nicht, das heißt, es passiert gar nichts, wenn die Wörter eingetragen werden.
Kann jemand helfen?
Gruß

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile automatisch nach unten verschieben
03.12.2008 08:49:11
Matthias
Hallo
Gibt es tatsächlich ein Private Sub Worksheet_Change2 - Ereignis?
oder ist das schon der Fehler ?
Gruß Matthias
AW: Zeile automatisch nach unten verschieben
03.12.2008 08:52:24
donald
Naja,
ich habe schon eine Makro, das Private Sub Worksheet heißt. Da hatte es mir nämlich gleich ne Fehlermeldung gegeben, dass 2 mal der gleiche Name nicht geht. Und wenn ich den Namen ändere, kommt diese Fehlermeldung nicht mehr.
Weitere Tips?
Anzeige
AW: Zeile automatisch nach unten verschieben
03.12.2008 08:56:35
Matthias
Hallo
Es gibt nur ein Worksheet_Change - Ereignis
Du musst also beide Codes in das Worksheet_Change reinpacken.
Gruß Matthias
Danke
03.12.2008 09:02:38
donald
Ach so, Sorry. Kenne mich wie du siehst nicht so dolle aus. Hab das jetzt verwurschtelt und es funktioniert! Danke!

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

Zeile in Excel automatisch nach unten verschieben


Schritt-für-Schritt-Anleitung

Um eine Zeile in Excel automatisch nach unten zu verschieben, wenn du bestimmte Werte in eine Zelle eingibst, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Doppelklicke auf das Arbeitsblatt, in dem du das Makro verwenden möchtest (z.B. Tabelle1).

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

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim Wert As String
       Wert = Target.Value
       Dim Spalte As Integer
       Spalte = Target.Column
    
       If Spalte = 8 Then ' Spalte H
           Select Case Wert
               Case "Absage"
                   Rows(Target.Row).Cut
                   Rows("51:51").Insert Shift:=xlDown
               Case "Auftrag"
                   Rows(Target.Row).Cut
                   Rows("61:61").Insert Shift:=xlDown
           End Select
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Teste das Makro, indem du "Absage" oder "Auftrag" in eine Zelle der Spalte H eingibst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht
    Lösung: Stelle sicher, dass du das Makro im richtigen Arbeitsblatt eingefügt hast und dass die Schreibweise der Werte ("Absage", "Auftrag") genau übereinstimmt.

  • Fehler: Es gibt eine Fehlermeldung wegen des Namens
    Lösung: Stelle sicher, dass du nur Private Sub Worksheet_Change verwendest und nicht Private Sub Worksheet_Change2. Der Name muss eindeutig sein.


Alternative Methoden

Eine weitere Möglichkeit, um Zeilen in Excel nach unten zu verschieben, ist die Verwendung von Excel-Funktionen oder Formeln. Du könntest auch manuell Zeilen einfügen und dann die gewünschten Daten kopieren, allerdings ist dies weniger automatisiert. Für eine schnelle Lösung kannst du die Tastenkombination Strg + Shift + "+" verwenden, um Zeilen einzufügen.


Praktische Beispiele

Wenn du beispielsweise eine Tabelle hast, in der du Aufträge und Absagen nachvollziehen möchtest, könntest du ein Dropdown-Menü in der Spalte H erstellen. Wenn du dann "Absage" auswählst, wird die gesamte Zeile nach unten verschoben. Um das zu tun:

  1. Gehe zu Daten > Datenüberprüfung.
  2. Wähle Liste und gib die Werte "Absage, Auftrag" ein.
  3. Verwende das obige Makro, um die Zeilen automatisch zu verschieben.

Tipps für Profis

  • Verwende Variablen: Um das Makro effizienter zu gestalten, könntest du Variablen für die Zielzeilen verwenden, sodass du diese leicht anpassen kannst.
  • Fehlermeldungen einbauen: Füge Fehlermeldungen hinzu, um zu überprüfen, ob die Eingaben korrekt sind.
  • Testen in einer Kopie: Teste neue Makros immer in einer Kopie deiner Datei, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeilen gleichzeitig verschieben?
Du müsstest die Logik im Makro anpassen, um eine Schleife zu verwenden, die mehrere Zeilen verarbeitet, basierend auf den eingegebenen Werten.

2. Kann ich das Makro auch für andere Spalten verwenden?
Ja, du kannst die If-Bedingung im Makro anpassen, um auch andere Spalten zu überwachen und entsprechend zu reagieren.

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