Danke!!!
08.05.2008 10:07:00
Stephan
Hi Beverly,
du hattest Recht! Das "Datum" in A37 wurde nämlich per Makro aus der TextBox der UserForm1 übernommen und somit als Text erkannt, obwohl es als Datum formatiert war. Ich habe dieses Makro nun gelöscht, da er ja bei jedem neuen Datenabruf A37 wieder mit dem aktuellen TextBox-Eintrag (halt nur in Datumsformat) überschrieben hat und den Datensatz deswegen beliebig oft speicherte.
Statt Makro habe ich jetzt in A37 einen einfachen Verweis (=A128) eingefügt, in dem auf ein anderes TabBlatt mit dem per Makro eingefügten Datum verwiesen wird. Anschließend habe ich deinen Tipp in Form eines kleinen Makros (siehe fett gedruckt) vorangesetzt und es funktioniert!!
Aber auf die Sache mit der 1 und multiplizieren wäre ich nie gekommen!! Anscheinend taucht dieses Problem aber wohl öfter auf, oder woher wußtest Du das?
An dieser Stelle vielen, vielen Dank und ein dickes "Respekt" für Deine Bemühungen und dafür, dass Du es so geduldig mit mir ausgehalten hast!!;-)
Vielleicht darf ich Dich noch mit einem anderem Problem "belästigen";-). Aber dazu werde ich heute hier im Forum noch einen neuen Beitrag schreiben. Wenn Du mal Zeit und Lust hast, kannst Du dort ja vielleicht mal reinschauen. Grüße, Stephan
Sub monatsarchiv_neu()
'!!!als Monatsdatei speichern!!!
Dim loLetzte As Long
Dim raZelle As Range
Dim Datum As String
Dim Linie As String
Dim i As Integer
Dim Monat As String
Monat = Right(ActiveSheet.Range("A37"), 7)
Datum = ActiveSheet.Range("A37")
Linie = ActiveSheet.Range("A39")
i = MsgBox("Datei [" & Datum & "] ist nach Speicherung nicht mehr editierbar." & Chr(10) & " _
Wollen Sie wirklich speichern?", vbOKCancel + vbExclamation)
If i = 2 Then Exit Sub
If i = 1 Then
Application.ScreenUpdating = False
Range("A129").Select 'hier steht die 1
Selection.Copy
Range("A128").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, SkipBlanks:=False, _
Transpose:=False
Application.CutCopyMode = False
Selection.NumberFormat = "m/d/yyyy"
Workbooks.Open Filename:="H:\MDE geprüft\2008\Artikellaufzeiten\" & Linie & "\Monat\" & _
Monat & ".xls"
With Worksheets("Tabelle1")
loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, . _
Rows.Count)
Set raZelle = .Range("A1:A" & loLetzte).Find(ThisWorkbook.Worksheets("PD`s").Range("A37"), _
Lookat:=xlWhole)
If raZelle Is Nothing Then
ThisWorkbook.Worksheets("PD`s").Range("B2:AF30").Copy .Cells(loLetzte + 1, 1)
MsgBox "Daten wurden gespeichert!"
Else
MsgBox "Datensatz ist bereits vorhanden!", vbCritical, "Achtung!"
End If
End With
Application.DisplayAlerts = False
Workbooks(Monat & ".xls").Close SaveChanges:=True
Application.DisplayAlerts = True
Range("I50").Select
Application.ScreenUpdating = True
End If
End
Sub