natürlich habe ich ein Problem.
Würde mich über Hilfe sehr freuen.
Ich habe ein Formular entworfen in dem in einer Zelle die Funktion =HEUTE() steht.
Das Formular wird mit einem Button als Mail gesendet und in einem Archiv Ordner gespeichert.
Die Heute Funktion liegt in Zelle B3.
Sobald ich das Blatt die Routine des Macro durchlaufen hat ist die Funktion nicht mehr da. Es steht nur noch das Datum dort.
Der zu kopierende Bereich ist in Range("A1:H47").Select .
Sobald ich den Wert auf Range("C1:H47").Select ändere , also die Zelle in der die Heute Funktion steht nicht mit kopiere bleibt die Funktion erhalten.
Das Datum sollte aber schon mit der Email versendet werden und auch gespeichert sein.
Hier der Code:
Sub emailfrühschicht()
ActiveSheet.Unprotect
Dim OutApp As Object, Mail As Object, i
Dim Nachricht
'
Dim ClpObj As DataObject
For i = 1 To 1
Set ClpObj = New DataObject
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
ActiveSheet.Unprotect
Range("A1:H47").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
With Nachricht
.Subject = "Schichtübergabe Früh"
ClpObj.GetFromClipboard
.Body = ClpObj.GetText(1)
.To = "XXXXXXXXXXXXXX"
.Send
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Application.Wait (Now + TimeValue("0:00:01"))
Application.CutCopyMode = False
Next i
'ArbeitsmappeSpeichern()
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="\\SOE-DATA01\openshare\Personal\bullmu\Schichtübergabe\Archiv\Frühschicht\" & Format(Now, "yyyy_mm_dd_") & ActiveSheet.Name & ".xls"
ActiveWindow.Close SaveChanges:=False
ActiveSheet.Protect