Hallo zusammen,
ich habe folgendes Problem…
Per Button sollen 4 Werte aus dem Sheet ZP in den Sheet Archiv kopiert werden.
Vor dem Kopieren soll geschaut werden, ob der Wert3 oder Wert4 schon im Archiv vorhanden ist.
Wenn vorhanden, sollen die Werte in der Spalte aktualisiert werden.
Wenn nicht vorhanden, soll die nächste leere Spalte gesucht werden.
Jetzt kommt für mich das Problem… Es ist im Normalfall nur Wert3 oder Wert4 vorhanden. Die andere Zelle bleibt leer.
Egal wie ich es mit meinen Einsteiger Kenntnissen versuche, entweder kommt gleich eine Fehlermeldung oder es wird permanent in Zeile 1 kopiert.
Ich denke mal, es liegt daran, dass der nicht vorhandene Wert aus der anderen Zelle gesucht wird aber sicher bin ich mir da auch nicht.
Hier mal der Code:
Sub Archivieren()
Dim Wert3 As String
Dim Wert4 As String
Wert3 = Sheets("ZP").Range("C8")
Wert4 = Sheets("ZP").Range("C9")
Set ZP = Sheets("ZP")
Set Archiv = Sheets("Archiv")
Sheets("Archiv").Select
Range("A1").Select
Kennzeichen:
On Error Resume Next
If IsEmpty(Sheets("ZP").Range("C8")) = False Then
Cells.Find(What:=Wert3, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
Selection.Offset(0, -2).Select
GoTo Copy
Else
GoTo Behälter
If Err.Number = 91 Then
GoTo Behälter
End If
End If
On Error GoTo 0
Behälter:
On Error Resume Next
If IsEmpty(Sheets("ZP").Range("C9")) = False Then
Cells.Find(What:=Wert4, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
Selection.Offset(0, -2).Select
GoTo Copy
If Err.Number = 91 Then
GoTo Search
End If
End If
On Error GoTo 0
Search:
If Selection.Offset(0, 2).Value <> "" Or Selection.Offset(0, 3).Value <> "" Then
Selection.Offset(1, 0).Select
GoTo Search
End If
Copy:
Selection.Offset(0, 0).Value = Sheets("ZP").Range("G1").Value 'Datum
Selection.Offset(0, 1).Value = Sheets("ZP").Range("C4").Value 'Referenz
Selection.Offset(0, 2).Value = Sheets("ZP").Range("C8").Value 'Kennzeichen
Selection.Offset(0, 3).Value = Sheets("ZP").Range("C9").Value 'Behälter
Sheets("ZP").Select
ActiveWorkbook.Save
End Sub
|