Microsoft Excel

Herbers Excel/VBA-Archiv

Hilfe


Betrifft: Hilfe von: Natascha
Geschrieben am: 14.04.2017 11:56:06

Hallo zusammen,

ich benötige Hilfe bei meinem Makro.
Folgendes Makro hab ich bereits:

Sub Uebertrag_Mail_Gesamt_Kunde()

Range(Cells(2, 1), Cells(Range("A65536").End(xlUp).Row, 14)).Copy
Sheets("Gesamt Kunde").Activate
Cells(Range("A65536").End(xlUp).Row + 1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("WVL Kunde").Activate
Range(Cells(2, 1), Cells(Range("A65536").End(xlUp).Row, 14)).ClearContents
End Sub
Jetzt benötige ich aber noch eine Wenn Funktion die folgendes bewirken soll:
Wenn in Spalte 3 das Wort "erledigt" steht, dann sollen diese Einträge auf ein anderes Datenblatt kopiert werden. Zudem sollen die entsprechenden Zeilen vollständig gelöscht werden.

Ich kriege diesen Teil einfach nicht korrekt eingebaut.
Kann mir einer helfen?

Danke und viele Grüße
Natascha

  

Betrifft: AW: Hilfe von: Rainer
Geschrieben am: 14.04.2017 11:59:01

Hallo Natascha,

kannst du deine Tabelle hochladen? Wohin soll kopiert werden?

Gruß,

Rainer

(Ich stelle den Beitrag auf offen, da ich gleich weg bin)


  

Betrifft: AW: Hilfe von: Natascha
Geschrieben am: 14.04.2017 12:13:30

Es soll von WVL Kunde nach Gesamt Kunde kopiert werden.


  

Betrifft: AW: Hilfe von: Werner
Geschrieben am: 14.04.2017 13:09:19

Hallo Natascha,

Frage: Wie kommt der Eintrag "erledigt" in die Zelle in Spalte C? Ergebnis einer Formelberechnung oder wird der Wert händisch eingetragen?

Wird der Wert händisch eingetragen, dann könnte man das mit einem Eventmakro lösen -WorksheetChange. Sobald "erledigt" eingetragen wird, wird die komplette Zeile kopiert und anschließend gelöscht.

Das macht meiner Meinung nach mehr Sinn als zuerst den Wert einzutragen und anschließend ein Makro drüber laufen zu lassen durch das geprüft wird ob ein entsprechender Eintrag vorhanden ist.

Gruß Werner


  

Betrifft: AW: Hilfe von: Natascha
Geschrieben am: 14.04.2017 13:35:19

Hi Werner,

vielen Dank für deine Rückmeldung.
Ja der Wert wird händisch eingetragen.

Klappt das dann auch das die ganze Zeile gelöscht wird und nicht nur der Inhalt?

Viele Grüße
Natascha


  

Betrifft: AW: Hilfe von: Werner
Geschrieben am: 14.04.2017 13:38:33

Hallo Natascha,

Klar doch. Kommt noch ne Beispielmappe von dir oder kriegst du das selbst eingebaut wenn ich den Code poste?

Gruß Werner


  

Betrifft: AW: Hilfe von: Natascha
Geschrieben am: 14.04.2017 13:52:38

Hi Werner,

ich würde es gern mal versuchen :)

Viele Grüße


  

Betrifft: AW: Hilfe von: Werner
Geschrieben am: 14.04.2017 14:32:59

Hallo Natascha,

das Makro gehört ins Codemodul von Blatt "WLV Kunde"

-Rechtsklick auf den Blattreiter - Code anzeigen - kompletten Code rechts ins Codefenster kopieren

Der Code prüft auf Eingabe von "erledigt" in Spalte C, ab Zeile 2, da ich davon ausgegangen bin, dass in Zeile 1 Überschriften vorhanden sind.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim loLetzte As Long

If Target.Count > 1 Then Exit Sub
If Target.Column = 3 And Target.Row > 1 Then
    loLetzte = Sheets("Gesamt Kunde").Cells(Rows.Count, 3).End(xlUp).Row + 1
        If Target.Value = "erledigt" Then
            Target.EntireRow.Copy Sheets("Gesamt Kunde").Cells(loLetzte, 1)
            Target.EntireRow.Delete
        End If
End If
End Sub
Gruß Werner


  

Betrifft: AW: Hilfe von: Natascha
Geschrieben am: 14.04.2017 14:40:22

Das funktioniert wunderbar!

Vielen Dank für deine Hilfe Werner.

Grüße und schöne Ostern :)


  

Betrifft: AW: Gerne u. Danke für die Rückmeldung. von: Werner
Geschrieben am: 14.04.2017 15:48:13

Hallo Natascha,

gerne und dir auch viel Erfolg beim Eiersuchen.

Gruß Werner