Hi,
ich glaube dein Makro sollte eher so aussehen:
Sub x()
Dim wkb As Workbook
Dim zeile, zeile2, y As Long
Dim fin As String
Dim Sh As Worksheet
Dim Werte, E&
fin = TextBox50.Value
Name = TextBox51.Value
Set wkb = Workbooks.Open("C:\Users\Desktop\....xls")
wkb.Activate
Set Sh = Sheets("Neuwagen")
With Sh
Werte = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
End With
E = UBound(Werte)
For y = 1 To E
If Not IsError(Werte(y, 1)) Then
If CStr(Werte(y, 1)) = fin Then
Exit For
End If
End If
Next y
If y > E Then
zeile = Sh.Cells(Rows.Count, 1).End(xlUp).Row + 1
With Sh
.Cells(zeile, 1).Value = Terminverwaltung.TextBox50.Value
.Cells(zeile, 3).Value = Terminverwaltung.Label519.Caption
.Cells(zeile, 4).Value = Terminverwaltung.Label521.Caption
.Cells(zeile, 10).Value = Terminverwaltung.Label539.Caption
.Cells(zeile, 5).Value = Terminverwaltung.TextBox51.Value
.Cells(zeile, 27).Value = Terminverwaltung.TextBox52.Value
.Cells(zeile, 7).Value = Terminverwaltung.TextBox53.Value
.Cells(zeile, 9).Value = Terminverwaltung.TextBox54.Value
.Cells(zeile, 8).Value = Terminverwaltung.TextBox55.Value
End With
wkb.Close savechanges:=True
MsgBox " Neuwagen für Herr/Frau " + Name + " wurde angelegt!"
Else
MsgBox "Fin" + fin + "ist bereits angelegt!"
End If
End Sub
Gruß
Till
|