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

Forumthread: Zelle ausschneiden und einfügen vba

Zelle ausschneiden und einfügen vba
11.04.2022 15:54:12
Andy
Guten Tag an die Mitglieder im Excel Forum,
ich bin neu registriert und bin somit noch nicht mit allen Regeln und Gepflogenheiten hier vertraut.
Ich habe ein Anliegen, welches eine ganz Simple Excel Tabelle mit Sortierfunktion betrifft.
Hier habe ich für unsere Dreherei Abteilung ein Liste erstellt, für interne Lager Aufträge, die es abzuarbeiten gilt.
Jetzt hätte ich gerne, wenn ich der Spalte G via Dropdown Menü ein "JA" gesetzt wird, dass man im nachhinein durch klicken eines Formularsteuerelements die Zeilen ausschneidet und in das Tabellenblatt "erledigt oder Archiv" überträgt.
Die Zeilen sollten wenn möglich dann im Tabellenblatt "Aktuell" nachrücken, so das keine Leerzeilen entstehen. Das gleiche für das Tabellenblatt "erledigt". Hier sollten die ausgeschnittenen und hier eingefügten Zeilen dann auch immer in die erste freie Zeile eingefügt werden.
Kann es sein, dass dies nur funktioniert, wenn man keine Tabelle mit Sortierfunkton hat?
Hier meine Tabelle:
https://www.herber.de/bbs/user/152414.xlsm
Ich habe hier im Forum auch etwas tolles gefunden, jedoch bekomme ich es nicht hin, dieses VBA für meine Zwecke zu nutzen.
https://www.herber.de/forum/archiv/1552to1556/1553802_Zeile_nach_Beding_in_anderes_Tabellenblatt_versch.html#google_vignette
Freundliche Grüße
Andy
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle ausschneiden und einfügen vba
11.04.2022 17:44:57
Herbert_Grom
Hallo Andy,
Frage: Warum ist die Spalte A und die Zeilen 1 - 4 leer?
Servus
AW: Zelle ausschneiden und einfügen vba
14.04.2022 11:01:35
Andy
Hallo Herbert,
das mit den freien Spalten/Zellen hat keine Bedeutung. Wollte einfach die Tabelle nicht so an den Rand quetschen und nicht bei A1 beginnen.
Grüße
Andy
AW: Zelle ausschneiden und einfügen vba
11.04.2022 20:20:04
Yal
Hallo Andy,
denk nicht zu kompliziert. Wozu Userform? Es reicht, wenn bei der Änderung der Wert in der Spalte G ein Ereignis ausgelöst wird, das die Zeile versetzt.
Ändere deine Vorgabeliste in N1:N6 ("ja" bedeutet alles, und daher gar nichts) in:
offen
zum Teil
Erledigt
Erl. (archivieren)
Im Codepane vom Blatt "Aktuell" (Rechtsklick auf dessen Reiter und "Code anzeigen auswählen") folgende Code copy-pasten:

Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Target.Range("A1") 'immer nur die erste Zelle beachten
If Not Intersect(Target, Columns("G:G")) Is Nothing Then
Application.EnableEvents = False
Select Case Target.Value
Case "Erl. (archivieren)"
Target.EntireRow.Copy Worksheets("Erledigt").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).EntireRow.Range("A1")
Target.EntireRow.Delete Shift:=xlUp
End Select
Application.EnableEvents = True
End If
End Sub
Also wenn Du in Spalte G einen Eintrag in "Erl. (archivieren)" umstellst, verschwindet die Ziele ins Blatt "Erledigt".
VG
Yal
Anzeige
AW: Zelle ausschneiden und einfügen vba
14.04.2022 11:06:00
Andy
Hallo Yal,
vielen Dank! Das funktioniert super.
Darf ich mal fragen, wo Ihr euch das ganze mit den Codes schreiben, angeeignet habt?
Grüße
Andy
AW: Zelle ausschneiden und einfügen vba
14.04.2022 15:37:33
Yal
Hallo Andy,
Ein paar Tipps, die das Verstehen + Lernen von VBA beschleunigt:
_ immer zuerst Makrorekorder verwenden (mache ich immer noch). Kurze Aufnahme machen und Code anschauen.
_ Code im Schritt-Modus laufen lassen (F8)
_ dabei das Lokalfenster offen halten (Ansicht, Lokalfenster), um den zsutand der Variablen zu sehen.
_ neugierig sein: was steht in dem Objekt hinter dem "+"
_ Überwachungsausdrücke verwenden: Variable oder Ausdruck markieren, Rechtsklick auf "Überwachung hinzufügen..."
_ Variable verwenden, nur um deren Stand im Lokalfenster zu beobachten.
_ auch gut: Debug.Print xxVariableName, druckt den Zustand eine Variable in das Direktfenster.
_ wenn ein VBA-Begriff nicht bekannt ist, Cursor drauf paltzieren und Strg+F1, um an der Online-Hilfe zu gelangen. Dort sich die Zeit nehmen, grundlich zu lesen (die Aufmachung ist nur am Anfang gewöhnungsbedürftig) und die gegebenen Beispiele anzuschauen.
_ wenn die erste Schritte schon gemacht sind, das Objektkatalog anschauen
und probieren, probieren, probieren
VG
Yal
Anzeige
AW: Zelle ausschneiden und einfügen vba
20.04.2022 13:52:21
Andy
Hallo Yal,
vielen Dank für die Informationen. Die Vorgehensweise werde ich mal versuchen.
Und am probieren bin ich, mit kleineren, kurzen Makros.
Grüße Andy
;

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

Zelle ausschneiden und einfügen mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel auszuschneiden und einzufügen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, um die Zeilen anhand einer Dropdown-Auswahl in Spalte G auszuschneiden und in ein anderes Tabellenblatt zu übertragen:

  1. Öffne Deine Excel-Datei und gehe zum Tabellenblatt "Aktuell".

  2. Rechtsklicke auf den Reiter "Aktuell" und wähle "Code anzeigen".

  3. Füge den folgenden VBA-Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Set Target = Target.Range("A1") ' immer nur die erste Zelle beachten
       If Not Intersect(Target, Columns("G:G")) Is Nothing Then
           Application.EnableEvents = False
           Select Case Target.Value
               Case "Erl. (archivieren)"
                   Target.EntireRow.Copy Worksheets("Erledigt").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).EntireRow.Range("A1")
                   Target.EntireRow.Delete Shift:=xlUp
           End Select
           Application.EnableEvents = True
       End If
    End Sub
  4. Schließe den VBA-Editor und teste die Funktion, indem Du in Spalte G "Erl. (archivieren)" wählst. Die entsprechende Zeile wird in das Tabellenblatt "Erledigt" übertragen.


Häufige Fehler und Lösungen

  • Fehler: Die Zeilen werden nicht verschoben.

    • Lösung: Stelle sicher, dass der VBA-Code korrekt eingefügt wurde und dass Du den richtigen Tabellennamen verwendest.
  • Fehler: Es treten Fehler beim Ausführen des Codes auf.

    • Lösung: Überprüfe, ob die Spalte G tatsächlich die Dropdown-Option "Erl. (archivieren)" enthält.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, gibt es auch manuelle Methoden, um Zellen in Excel auszuschneiden und einzufügen:

  • Tastenkombination: Du kannst die Tastenkombination Strg + X verwenden, um Zellen auszuschneiden und Strg + V, um sie an einer anderen Stelle einzufügen.
  • Menüoption: Wähle die Zelle aus, gehe zu „Start“ und klicke auf „Ausschneiden“ und danach auf „Einfügen“.

Praktische Beispiele

Angenommen, Du hast eine Liste von Aufträgen in Excel. Wenn Du in Spalte G "JA" auswählst, möchtest Du, dass die gesamte Zeile in ein anderes Tabellenblatt verschoben wird. Mit dem oben genannten VBA-Code wird dies automatisiert.

Ein Beispiel für eine Dropdown-Liste in Spalte G könnte so aussehen:

  • Offen
  • Zum Teil
  • Erledigt
  • Erl. (archivieren)

Wähle "Erl. (archivieren)", um die Zeile auszuschneiden und in das Tab "Erledigt" zu verschieben.


Tipps für Profis

  • Makrorekorder verwenden: Nutze den Makrorekorder, um Dir die Grundlagen von VBA anzueignen. Dies ist eine hervorragende Methode, um zu lernen, wie Du Deine eigenen Codes erstellen kannst.
  • Debugging: Verwende Debug.Print im Code, um Werte und Variablen während der Ausführung zu beobachten.
  • Tastenkombinationen: Gewöhne Dir die Ausschneiden-Tastenkombination Strg + X an, um beim Arbeiten in Excel Zeit zu sparen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeilen gleichzeitig ausschneiden?
Du kannst mehrere Zeilen markieren und dann die Ausschneiden-Tastenkombination Strg + X verwenden, um sie auszuschneiden.

2. Funktioniert das nur in bestimmten Excel-Versionen?
Der beschriebene VBA-Code funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010, 2013, 2016 und 2019.

3. Kann ich die Zellen auch in eine andere Datei übertragen?
Ja, Du kannst den Code anpassen, um die Zeilen in eine andere Arbeitsmappe zu kopieren, indem Du den Namen der Arbeitsmappe im Code angibst.

4. Was ist die beste Methode, um Zellen auszuschneiden?
Die Verwendung der Ausschneiden-Tastenkombination ist schnell und effizient, insbesondere für einfache Aufgaben. VBA ist jedoch nützlich für automatisierte Prozesse.

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