Ich will mit einem Button den Inhalt zweier Excel-Zellen in die Office-Zwischenablage kopieren. Zelle 1 enthält eine Handlungsanweisung, Zelle 2 Informationen, was zu tun ist.
Ziel und Sinn der Sache ist es, die Daten in eine Outlook-Aufgabe zu überragen mit zwei Klicks auf das Clipboard-Menu: Einmal für die Aufgaben-Titelzeile und noch einmal für den Textkörper des Aufgabenformulars.
Dazu habe ich mir Code aus dem Web gefischt und um eine zweite Zelle ergänzt. Es handelt sich um ein Coding, von dem ich genau Null verstehe. Die zu kopierenden Daten stehen im Beispielcode in den Zellen C1 und C2.
Dieser Code funktioniert bei mir manchmal korrekt, manchmal wird nur die erste Zelle kopiert und manchmal kommt eine Fehlermeldung.
Ich danke vorweg schon mal allen für euer wertvolles Wissen!
Sub Copy2Clipboard
Const C_CLASS_MSFORMS_DATAOBJECT As String = "new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"
Dim o As MSForms.DataObject ' EarlyBinding
Dim o As Object ' LateBinding (nur wenn keine Userform vorhanden ist)
Dim s As String
Set o = New MSForms.DataObject ' EarlyBinding
Set o = CreateObject(C_CLASS_MSFORMS_DATAOBJECT) ' LateBinding
Set o = CreateObject(C_CLASS_MSFORMS_DATAOBJECT) ' LateBinding
s = Range("C1").Text
Call o.SetText(s, 1)
Call o.PutInClipboard
Set o = Nothing
Set o = CreateObject(C_CLASS_MSFORMS_DATAOBJECT) ' LateBinding
s = Range("C2").Text
Call o.SetText(s, 1)
Call o.PutInClipboard
Set o = Nothing
End Sub