... schrieb am 16.11.2010 14:06:12:
Sub Eintrag()
Dim WB As Excel.Workbook
Dim LetzteZeile As Long
Dim SuchBegriff As Variant
Dim Gefunden As Variant
On Error Resume Next
Dim LaufZahl As Long
With ThisWorkbook.ActiveSheet
LetzteZeile = .Cells.Rows.Count
LetzteZeile = .Cells(LetzteZeile, 1).End(xlUp).Row
For Each WB In Workbooks
If WB.Name <> ThisWorkbook.Name Then
SuchBegriff = WB.ActiveSheet.Range("A2")
Gefunden = Application.WorksheetFunction.Match(SuchBegriff, .Range(.Cells(1, 1), .Cells(LetzteZeile, 1)), 0)
If Err.Number <> 0 Then Err.Clear
If IsEmpty(Gefunden) Then
.Cells(LetzteZeile + 1, 1) = SuchBegriff
.Cells(LetzteZeile + 1, 2) = Date
.Cells(LetzteZeile + 1, 2).NumberFormat = "dd.MM.YYYY"
LetzteZeile = LetzteZeile + 1
MsgBox "Belegnummer " & SuchBegriff & " wurde eingelesen!", vbInformation, "Hinweis..."
WB.Close True
Else
MsgBox "Belegnummer " & SuchBegriff & " wurde bereits am " & Format(.Cells(Gefunden, 2), "dd.MM.yyyy") & " eingelesen!", vbExclamation, "Hinweis..."
End If
End If
Next
End With
ThisWorkbook.Close True
End Sub
siehe oben.
Severus
wenn der beleg bereits besteht, öffnet sich die messagebox (MsgBox "Belegnummer " & SuchBegriff & " wurde bereits am " & Format(.Cells(Gefunden, 2), "dd.MM.yyyy") & " eingelesen!", vbExclamation, "Hinweis...")
, drückt man auf ok, wird die datei wieder geschlossen. das passt so...
aber bei der messagebox, (MsgBox "Belegnummer " & SuchBegriff & " wurde eingelesen!", vbInformation, "Hinweis...") schließt sich die falsche datei. es soll sich hier auch die datei schließen, in der die belege eingelesen werden und nicht die, aus der die belegnummer stammt.
hat sich erledigt! danke
|