Office: VBA - Zeile kopieren und löschen wenn Bedingung erfüllt ist

Helfe beim Thema VBA - Zeile kopieren und löschen wenn Bedingung erfüllt ist in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Morgen, ich habe eine To-Do Liste mit 2 Tabellenblättern. (Excel 2010) im ersten Tabellenblatt "ToDo" gibt es Spalten von A bis H. In den... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von dg511, 6. Dezember 2014.

  1. dg511 Neuer User

    VBA - Zeile kopieren und löschen wenn Bedingung erfüllt ist


    Guten Morgen,

    ich habe eine To-Do Liste mit 2 Tabellenblättern. (Excel 2010)

    im ersten Tabellenblatt "ToDo" gibt es Spalten von A bis H. In den Zeilen stehen Dinge wie Eingangsdatum, Kunde, Maßnahme, etc. In Spalte H ist der jeweilige Status. Dieser ist entweder "offen"," in Bearbeitung", "keine Umsetzung" oder "erledigt" (Auswahl durch Dropdown-Feld).

    Ich hätte gerne, dass ich die kompletten Zeilen auf Knopfdruck mit einem Makro in das zweite Tabellenblatt "ErledigteFälle" kopiert und aus dem ersten gelöscht werden. Ich habe dies mit VBA gemacht. Nur leider kenne ich mich damit absolut gar nicht aus und habe lediglich verschiedene Codes aus dem Internet zusammenkopiert und versucht diese auf meinen Fall anzupassen. Klappt auch, bis auf eine Kleinigkeit. Meine Codes sehen so aus: (da ich mich nicht auskenne habe ich für die Kopie und die Löschung jeweils einen eigenen genommen).

    Für die Kopie:

    Sub BedingteKopieZeilen()
    Dim Zeile As Long
    Dim ZeileMax As Long
    Dim i As Long

    With Tabelle1
    ZeileMax = .UsedRange.Rows.Count
    n = 2

    For Zeile = 2 To ZeileMax

    If .Cells(Zeile, 8).Value = "erledigt" Then

    .Rows(Zeile).Copy Destination:=Tabelle4.Rows(n)
    n = n + 1

    End If
    Next Zeile
    End With
    End Sub


    Und für die Löschung:

    Public Sub bedingte_Zeilenloeschung()
    lz = Cells(Rows.Count, 8).End(xlUp).Rows.Row
    For t = lz To 4 Step -1
    If Cells(t, 8).Value = "erledigt" Then
    Rows(t).Delete Shift:=xlUp
    End If
    Next t
    End Sub



    Nun mein Problem:

    Bei der Kopie schreibt es die Zeile immer in die 2. Zeile des 2. Tabellenblatts. Das liegt wohl an der Zeile "n=2" im ersten Code. Ich hätte aber gerne, dass immer in die erste freie Zeile des 2. Tabellenblatts kopiert wird. Ich denke dass ist für euch Profis bestimmt gar kein Problem den Code anzupassen. Wäre einer so lieb und könnte das für mich tun? Ggfs. wäre es auch super wenn zusätzlich noch die Fälle mit dem Status "keine Umstetzung" mit-integriert werden.

    Bin um jede Hilfe dankbar.

    Wünsche euch allen ein schönes Wochenende.

    Dennis
     
  2. miriki Erfahrener User
    Moinsens!

    Du vermutest richtig... ;-)

    Mit n=2 wird einfach davon ausgegangen, daß die (erste) Ziel-Zeile (siehe "destination"-Parameter beim copy-Befehl) eben die 2 ist.

    Man kann aber, ähnlich dem "usedrange", welches ich als zu unzuverlässig ansehe, mittels ".end"-Funktion die letzte belegte Zeile ermitteln:
    Code:
    n = worksheets( "tabelle4" ).cells( worksheets( "tabelle4" ).rows.count, 1 ).end( xlup ).row + 1
    Das geht in die letzte mögliche Zeile in Spalte A des Blatts und guckt von dort aus, wo die letzte belegte Zelle oberhalb ist, nimmt davon die Zeile und addiert 1, um die erste freie Zelle / Zeile zu erhalten.

    Es geht auch:
    Code:
    n = worksheets( "tabelle4" ).cells( 1, 1 ).end( xldown ).row + 1
    Das hat aber den Nachteil, nur bis zur ersten leeren Zelle zu zählen und damit dann Probleme bei Listen mit Lücken auftreten. Das ist in Deinem Fall aber unwahrscheinlich, deswegen ist das eine Alternative.

    Und das
    Code:
    ZeileMax = .UsedRange.Rows.Count
    könntest Du wahrscheinlich auch nutzen:
    Code:
    n = worksheets( "tabelle4" ).UsedRange.Rows.Count + 1
    Gruß, Michael
     
Thema:

VBA - Zeile kopieren und löschen wenn Bedingung erfüllt ist

Die Seite wird geladen...
  1. VBA - Zeile kopieren und löschen wenn Bedingung erfüllt ist - Similar Threads - VBA Zeile kopieren

  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. Zeile bei Bedingung in anderen Reiter kopieren

    in Microsoft Excel Hilfe
    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...
  4. 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...
  5. VBA Makro, einzelne Zellen kopieren und in fortlaufende Zeile einfügen

    in Microsoft Excel Hilfe
    VBA Makro, einzelne Zellen kopieren und in fortlaufende Zeile einfügen: Hallo zusammen Verstehe die Makro Codes nicht gut, jedoch halfen bereits youtube Tutorials bei ein paar Problemen. Nun bräuchte ich aber eure Hilfe. Es geht um folgendes: Ich möchte ein Makro in...
  6. Excel Zeile kopieren und unterhalb einfügen

    in Microsoft Excel Hilfe
    Excel Zeile kopieren und unterhalb einfügen: Hallo zusammen, ich bin leider nicht wirklich fit in Excel-VBA Programmierung und benötige somit eure Hilfe. Ich möchte in einem Excel-Terminplan eine neue Zeile unterhalb einfügen können, die...
  7. VBA Code - aktive Zeile markieren und kopieren

    in Microsoft Excel Hilfe
    VBA Code - aktive Zeile markieren und kopieren: Hallo zusammen Ich möchte die aktive Zeile mit den Spalten A:AA im Tabellenblatt 1 mit einem VBA Code automatisch ins Tabellenblatt 2, Zeile 1 kopieren. Habe schon einige Codes versucht, und...
  8. VBA: Variable Anzahl Zeilen mit Suchkriterien finden und kopieren

    in Microsoft Excel Hilfe
    VBA: Variable Anzahl Zeilen mit Suchkriterien finden und kopieren: Hallo zusammen, ich konnte bislang nur bruchstückhafte Ansätze zu meinem Problem finden, jedoch keinen um mehrere Kriterien zu erfassen und anschließend zu ordnen, daher brauche ich (mal wieder)...
Schlagworte:
  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