... schrieb am 16.11.2010 13:17:44:
 
 hallo severus!
 kannst du dich noch an den folgenden code erinnern? 
 
 
 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
 
 (nochmal kurz das problem: 
 
 ich habe 2 excel-dateien:
 (datei 1: TEST_Eingelesene Belege.xls
 datei2: TEST_Prüfbutton.xls)
 
 in datei 1 steht in der zelle A2 eine belegnummer, diese soll in datei 2 in die spalte A kopiert werden. das problem ist, dass zum beispiel A1 und A2 schon belegt sind, dh, der wert aus datei 1 soll automatisch in die nächste freie zeile in spalte A der datei 2 kopiert werden. (prinzip: ein beleg nach dem anderen)
 
 der nächste punkte wäre, dass die belegnummer überhaupt nur dann in datei 2 kopiert werden soll, wenn sie nicht schon bereits irgendwo in spalte A steht. dh ich bräuchte gleichzeitig einen code, der irgendwie alle schon in der spalte A stehenden werte prüft. ist dieser bereits vorhanden soll eine msgbox erscheinen.)
 
 
 
 so, der code läuft super, ich bräuchte nur noch eine erweiterung:
 
 und zwar soll ebenfalls eine Messagebox erscheinen wenn der beleg eingelesen werden kann bzw. dann eingelesen wurde, als bestätigung (z.b. der beleg nr ... wurde erfolgreich eingelesen). wenn man dann auf ok klickt, soll sich die datei komplett schließen und vorher automatisch speichern.
 
 das automatische speichern und schließen soll, dann auch bei der bereits bestehenden Messagebox (im code bereits vorhanden) ermöglicht werden.
 
 kannst du das noch bitte für mich lösen? danke!!
 
 siehe oben.
 Severus     |