Excel Zelle Kopieren wenn bedingung erfüllt

Michi1234

Grünschnabel
Hallo Ihr VBA Profis

Ich komme bei meinem Problem einfach nicht weiter und hoffe Ihr könnt mir weiter helfen.
Ich möchte gerne dass wenn der Teilnehmer Inaktiv ist sollt es mir in die andere Tabelle Kopieren und sollte noch die entsprechenden Inhalt löschen und ich bringe das einfach nicht hin.
Also ich habe eine Userform wenn ich nun auf Register "Teilnehmer eingebe" ich wähle nun ein Teilnehmer aus der Listbox aus z.B PersonX nun habe ich eine Combobox dort wähle ich "Inaktiv" und klicke dann auf den Button "Teilnehmer Updaten". Nach diesem Klick sollte es mir die Inaktive Person von der Tabelle "Anwesenheit" die ganze Zeile in die Tabelle "Inaktiv" Kopieren und in der Tabelle "Anwesenheit" sollte es mir den Inhalt von der Zelle D-BF (z.B. D3 bis BF3) wo die Inaktive Person war löschen.

Hoffe ich habe es verständlich können beschreiben und jemand kann mir bei meinem Problem weiter helfen.
Weil ich stehe total auf dem Schlauch.
Lg Michi
 

Anhänge

  • Teilnehmer_00.zip
    133,1 KB · Aufrufe: 0
Hallo Miteinander

Über der Userform Register Teilnehmer eingeben sollte es nach Namen und nach Inaktiv in der Tabelle Anwesenheit finden wenn gefunden dann sollte es mir in die Tabelle Inaktiv einfügen.
Mein Code klappt leider irgendwie nicht richtig, es kopiert mir nur 1 Inaktive Person und sobald ich eine neue Person auf Inaktiv setze überschreibt es mir die andere Person.
Eigentlich möchte ich das es nach alle Inaktive Teilnehmer sucht und mir in die Tabelle Kopiert und das es untereinander steht. Und wenn ich später wieder einen oder mehrere Inaktive Teilnehmer hat sollte es mir einfach unten anfügen und keine überschreiben.
Hoffe jemand kann mir weiter helfen?

Code:
Private Sub CommandButton12_Click()
Dim qws, zws
 Dim daten
 Dim zeilen As Long, zeile As Long
 Dim zielzeile As Long
 
 Dim gefunden As Boolean
 
 If Me.TextBox27 = "" Then
     MsgBox "Kein Name eingetragen.", , "fehlender Name"
     Exit Sub
 End If
 Set qws = Worksheets("Anwesenheit")
 Set zws = Worksheets("Inaktiv")
 
 zeilen = qws.Cells(qws.Rows.Count, 5).End(xlUp).Row
 daten = qws.Range("A1:BJ" & zeilen)
 
 zielzeile = zws.Cells(zws.Rows.Count, 1).End(xlUp).Row + 1
 
 For zeile = 4 To zeilen
      If daten(zeile, 5) = Me.TextBox27 Then
             If daten(zeile, 62) = "Inaktiv" Then
                 'kopieren
                 qws.Range(qws.Cells(zeile, 1), qws.Cells(zeile, 62)).Copy zws.Cells(zielzeile, _
 1)
                 gefunden = True
             Else
                 'ausblenden)
                 qws.Rows(zeile).EntireRow.Hidden = True
             End If
     End If
 Next
 
 
 If gefunden = True Then
     MsgBox "Name wurde gefunden und übertragen!"
 Else
     MsgBox "Name wurde nicht als inaktiv gefunden!"
 End If
 End Sub

Lg Michi
 
Zurück