Hi,
du benötigst keinen Button - es reicht z.B. ein Doppelklick in Spalte A der betreffenden Zeile, damit die Daten übertragen werden. Dazu folgenden Code ins Codemodul der Tabelle "Ausgaben":
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngErste As Long
' Doppelklick in Spalte A
If Target.Column = 1 Then
' Zellen in Spalte C und D sind identisch und nicht leer
If (Target.Offset(0, 2) = Target.Offset(0, 3)) And _
(Target.Offset(0, 2) <> "" And Target.Offset(0, 3) <> "") Then
Cancel = True
With Worksheets("Erledigt")
' erste freie Zeile ermitteln
lngErste = IIf(IsEmpty(.Cells(Rows.Count, 1)), _
.Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count) + 1
' Zielzeile kopieren in erste freie Zeile kopieren
Target.EntireRow.Copy .Cells(lngErste, 1)
' Zielzeile löschen
Target.EntireRow.Delete
End With
End If
End If
End Sub
Leider weiß ich nicht, in welchen Spalten deine zu vergleichenden Werte stehen - ich bin mal von Spalte C und Spalte D ausgegangen, was du an deine Bedingungen anpassen musst. Der Zehlenwert bei .Offset(0, Zahl) gibt an, wieviel Spalten rechts neben der Doppelklickspalte der zu betrachtende Wert steht - im Beispiel gibt 2 an, dass der zu betrachtende Wert 2 Spalten rechts von A, also in C steht. .Offset(0, 3) heißt dann also, 3 Spalten rechts neben A, also in D.
Den Code fügst du ein, indem du einen Rechtsklick auf den Reiter (unten) der Tabelle "Ausgaben" machst -> Code anzeigen und dann den Code in das rechte (obere) Codefenster kopierst.
Bis später, Karin