... schrieb am 11.11.2010 08:23:29:
Den Code von Sub Eintrag() in Arbeitsmappe 2
in der Entwicklungsumgebung der datei 2 unter
"DieseArbeitsmappe" in einem
Private Sub Workbook_Open() Modul ablegen. Dann wird er automatisch ausgeführt, wenn datei 2 geröffnet wird.
Severus
läuft... vielen dank!
hätte noch ein anliegen: wenn die zelle von datei 1 in die nächste freie zeile(spalte A) von datei 2 kopiert wird, soll gleich in die zelle daneben (also in spalte B) das aktuelle datum gesetzt werden. wie kann ich das anstellen?
und was die super super luxusausführung wäre: ich bekomme ja eine meldung durch die MsgBox, wenn der beleg bereits eingelesen wurde. kann die messagebox dann auch gleichzeitig das datum, wann der beleg eingelesen wurde ausgeben? also nach dem motto: der beleg nr "...." wurde am "..." bereits eingelesen!
wäre der hammer, wenn das auch noch hinhauen würde. dann gebe ich aber auch ruhe!
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
Else
MsgBox "Belegnummer " & SuchBegriff & " wurde bereits am " & Format(.cells(Gefunden,2), "dd.MM.yyyy") & " eingelesen!", vbExclamation, "Hinweis..."
End If
End If
Next
End With
End Sub
Severus |