Hallo nochmal
Wenn das Herunterladen meiner Exeltabelle nicht gewünscht wird, hier das VBA-Macro, daß das Verschieben einer Zeile duchführt.
Das Macro soll aber prüfen, ob folgende Zellen ausgefüllt sind, bevor der Kopiervorgang gestartet wird:
F8, G8, I8 und J8.
Sollte allerdings eine der angeführten Zellen leer sein, soll der Kopiervorgang NICHT durchgeführt werden
Bitte um Hilfe, wie das geänderte werden kann.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim loZeile As Long
Dim Sh As Worksheet
Dim chk As Boolean
loZeile = Target.Row
'--- Prüfungen------
If Target.Column <> 7 Then Exit Sub
If loZeile < 8 Or loZeile > 33 Then Exit Sub
chk = False
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = Right(Cells(loZeile, 13), 4) Then
chk = True
Exit For
End If
Next
If chk = False Then
MsgBox "kein passendes Arbeitsblatt gefunden"
Exit Sub
End If
'----Kopieren und löschen-----------------------
Application.EnableEvents = False
Sh.Unprotect
Me.Unprotect
Rows(loZeile).Copy
Sh.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteFormulas
Rows(loZeile).EntireRow.Delete
Application.CutCopyMode = False
Me.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.EnableEvents = True
End Sub
Gruß ACR