Office: Zeile bei Bedingung in anderen Reiter kopieren

Helfe beim Thema Zeile bei Bedingung in anderen Reiter kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe eine Excel Tabelle mit verschiedenen To Dos für mich. Jedes Mal, wenn ich eine Zeile in Spalte G als "done" markiere möchte... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Dan753, 4. Juli 2023.

  1. Dan753 Neuer User

    Zeile bei Bedingung in anderen Reiter kopieren


    Hallo zusammen,
    ich habe eine Excel Tabelle mit verschiedenen To Dos für mich. Jedes Mal, wenn ich eine Zeile in Spalte G als "done" markiere möchte ich, dass die komplette Zeile in einen anderen Reiter "erledigt" verschoben wird. Dafür habe ich folgenden Code erstellt:

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ZielZeile As Long
    ZielZeile = Sheets("erledigt").Cells(Rows.Count, 1).End(xlUp)
    Set Target = Intersect(Target, Range("G1:G1000"))
    If Target Is Nothing Then Exit Sub
    If Target = "done" Then
    Target.EntireRow.Copy Destination:=Sheets("erledigt").Cells(ZielZeile + 1, 1)
    Target.EntireRow.Delete
    End If
    End Sub


    Das klappt zwar halbwegs, mein Problem ist aber, dass die Zeile im Erledigt Reiter irgendwo in Spalte 50.000 auftaucht und nicht oben. Kann mir jemand weiterhelfen woran das liegt? Ich bin totaler Anfänger was das angeht...
     
    Dan753, 4. Juli 2023
    #1
  2. d'r Bastler
    d'r Bastler Erfahrener User
    Moin Dan,
    nur so als Ansatz: Dein Ziel ist im Moment, dass der erledigte Eintrag unten in der entsprechenden Tabelle angefügt wird. Ich würde den Spieß umdrehen: Füge in der erl.-Tabelle oben eine Zeile ein und kopiere aus ToDo-Tabelle dorthin.

    Du sparst Dir die Zeilenzählerei und hast die letzten Einträge immer übersichtlich oben:

    Code:
    Option Explicit
    
    Sub Versiv()
    
    With ThisWorkbook.Sheets("Tabelle2")
        .Rows(1).Insert    'hast du Überschriften, ersetze 1 durch 2
    End With
    
    End Sub
    Nachtrag: Falls Du meinen Code (mangels Kenntnis) noch nicht erfolgreich einbauen kannst, lass es mich wissen, dann mach ich das für Dich. Aber trau Dich ruhig. So schwer ist's nicht Zeile bei Bedingung in anderen Reiter kopieren *;)*

    Schöne Grüße
     
    Zuletzt bearbeitet: 4. Juli 2023
    d'r Bastler, 4. Juli 2023
    #2
  3. Dan753 Neuer User
    Hey, vielen Dank schonmal! Die Idee die Zeile oben einzufügen finde ich auch super!
    Leider schaffe ich es tatsächlich nicht so ganz den Code einzufügen... Ich dachte ich muss nur den Part mit der ZielZeile ändern, aber das klappt nicht. Würdest du mir da echt doch nochmal weiterhelfen?Zeile bei Bedingung in anderen Reiter kopieren :oops:
     
    Dan753, 5. Juli 2023
    #3
  4. d'r Bastler
    d'r Bastler Erfahrener User

    Zeile bei Bedingung in anderen Reiter kopieren

    Moin Dan,
    schmeiss aus Deinem Code die ersten zwei Zeilen raus, die "ZielZeile" enthalten und ändere
    Code:
    Target.EntireRow.Copy Destination:=Sheets("erledigt").Cells(1, 1)
    Wenn Du Überschriften hast, nimmst Du statt cells(1,1) einfach cells(2,1)
    Das sollte schon funktionieren.

    Nachtrag: HALT!! Stimmt nicht! Du brauchst ja noch das Einfügen der Zeile. Gib mir ein paar Minuten und Du bekommst den kompletten Code Zeile bei Bedingung in anderen Reiter kopieren *:)* Sorry.

    Schöne Grüße
     
    Zuletzt bearbeitet: 5. Juli 2023
    d'r Bastler, 5. Juli 2023
    #4
  5. d'r Bastler
    d'r Bastler Erfahrener User
    Jetzt aber ...

    Code:
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    Set Target = Intersect(Target, Range("G1:G1000"))
    If Target Is Nothing Then Exit Sub
    
    If Target = "done" Then
        Sheets("erledigt").Rows(1).Insert
        Target.EntireRow.Copy Destination:=Sheets("erledigt").Cells(1, 1)
        Target.EntireRow.Delete
    End If
    
    End Sub
    Grüße
     
    d'r Bastler, 5. Juli 2023
    #5
  6. d'r Bastler
    d'r Bastler Erfahrener User
    Kleine Spielerei hinterher: Mit folgendem Code schriebst Du statt dem "done" in Deine Erledigt-Tabelle auch noch, WANN Du Deinen Job erledigt hast:

    Code:
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sDate As String
    
    Set Target = Intersect(Target, Range("G1:G1000"))
    If Target Is Nothing Then Exit Sub
    
    If Target = "done" Then
        sDate = Now
        Sheets("erledigt").Rows(1).Insert
        Target.EntireRow.Copy Destination:=Sheets("erledigt").Cells(1, 1)
        Sheets("erledigt").Cells(1, 7) = sDate
        Target.EntireRow.Delete
    End If
    
    End Sub
    Viel Spaß!
     
    d'r Bastler, 5. Juli 2023
    #6
  7. d'r Bastler
    d'r Bastler Erfahrener User
    So - und noch eine Spielerei: Angenommen, Du willst Deine ToDo-Liste noch etwas besser strukturieren und legst für jeden Aufgabenbereich eine eigene Tabelle (Haus, Hof, Garten) an. Dann gibst Du jeder dieser Tabellen diesen Code mit:
    Code:
    Option Explicit
    
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 7 Then
        Version Target
        Cancel = True
    End If
    End Sub
    
    Der Unterschied besteht darin, dass Du 1.) die komplette Spalte G prüfst (nicht nur bis Zeile 1000), ABER 2.) nicht beim SelectionChange, sondern auf Doppelklick. So kannst Du m.E. gezielter arbeiten. Die Zeile Cancel = True verhindert das die ausgewählte Zelle aktiv bleibt.

    In ein Allgemeines Modul gehört dann diese verallgemeinerte Variante der bisherigen Codes:
    Code:
    Option Explicit
    
    Sub Version(ByVal Target As Range)
    Dim sDate As String
    
    With ActiveSheet
         If Target Is Nothing Then Exit Sub
    
         If Target = "done" Then
             sDate = Now
             Sheets("erledigt").Rows(1).Insert
             Target.EntireRow.Copy Destination:=Sheets("erledigt").Cells(1, 1)
             Sheets("erledigt").Cells(1, 7) = sDate
             Target.EntireRow.Delete
         End If
    End With
    End Sub
    
    Wenn ich den Code noch hilfreich kommentieren soll, lass es mich wissen.

    Grüße
     
    Zuletzt bearbeitet: 5. Juli 2023
    d'r Bastler, 5. Juli 2023
    #7
  8. Dan753 Neuer User

    Zeile bei Bedingung in anderen Reiter kopieren

    Wow Danke für deine Mühe - es funktioniert endlich!!!! Zeile bei Bedingung in anderen Reiter kopieren *:)*

    Mit den Spielereien beschäftige ich mich jetzt als nächstes, das sind auch super Ideen!
     
    Dan753, 5. Juli 2023
    #8
    1 Person gefällt das.
  9. d'r Bastler
    d'r Bastler Erfahrener User
    d'r Bastler, 5. Juli 2023
    #9
Thema:

Zeile bei Bedingung in anderen Reiter kopieren

Die Seite wird geladen...
  1. Zeile bei Bedingung in anderen Reiter kopieren - Similar Threads - Zeile Bedingung Reiter

  2. VBA Zeilen kopieren mit Bedingung

    in Microsoft Excel Hilfe
    VBA Zeilen kopieren mit Bedingung: Hallo zusammen, Ich möchte per Makro Zeilen aus Tabelle2 in Tabelle3 kopieren, wenn eine Bedingung erfüllt ist. Bedingung: Der Wert in Spalte E (Tabelle2) kommt in Tabelle1 in Spalte E vor....
  3. Zeilen kopieren wenn Bedingung erfüllt

    in Microsoft Excel Hilfe
    Zeilen kopieren wenn Bedingung erfüllt: Hallo Zusammen Ich arbeite aktuell an einem umfangreichen Haushaltsbuch (als doppelte Buchhaltung geführt) und stehe bei einem kleinen Problem an. Im Tabellenblatt 1 führe ich das Buchungsjournal...
  4. Zeilen verschieben/löschen wenn Bedingung erfüllt wurde

    in Microsoft Excel Hilfe
    Zeilen verschieben/löschen wenn Bedingung erfüllt wurde: Hallo liebe gemeinde ich hab leider das problem, das ich kein gescheites makro hinbekommen in meiner Excel. Ich hätte gerne das wenn in Spalte G der Wert "Picked UP" ausgewählt wird, diese Zeile...
  5. mehrer Zeilen zurückgeben nach erfüllter Bedingung

    in Microsoft Excel Hilfe
    mehrer Zeilen zurückgeben nach erfüllter Bedingung: Hallo, ich stehe vor folgenden Problem.Ich will eine Art Bon Analyse machen. Die Aufgabe vor der ich hier stehe und aktuell nicht weiterkomme ist folgende: Wenn 2 gleiche Werten in Spalte C sind,...
  6. Index, Sverweis, Zählenwenn eine Zeile tiefer

    in Microsoft Excel Hilfe
    Index, Sverweis, Zählenwenn eine Zeile tiefer: Hallo, ich habe eine sehr "wüste" Excelliste, die auch sehr lang ist >10.000 Zeilen. Ich benötige die Anzahl von "11111" in Spalte W:W aber NUR wenn gleichzeitig in Spalte J:J EINE Zeile tiefer...
  7. Zeilen automatisch sperren mittels VBA (wenn Bedingung erfüllt)

    in Microsoft Excel Hilfe
    Zeilen automatisch sperren mittels VBA (wenn Bedingung erfüllt): Moin zusammen, folgendes Problem: Im Normalfall verzichte ich aus Gründen auf den Einsatz von VBA, aber dieses Mal komme ich nicht umher. Ich habe schon fleißig recherchiert und mich versucht,...
  8. Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren: Hallo zusammen, ich bin erst vor ein paar Tagen auf die Excel VBA gestoßen und kenne mich deswegen leider so gut wie gar nicht aus. Ich würde gerne aus den Tabellen 3 - 11, bestimmte Zeilen in die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden