Ich versuche, den Inhalt der Zelle in die Zwischenablage zu kopieren.Wie kopiere ich den Inhalt einer Zelle in die Zwischenablage
Ich habe das genaue Beispiel in der Excel 2007-Hilfedatei gelesen und versucht. Aus irgendeinem Grund ist das DataObject-Objekt jedoch nicht gültig. Also das Beispiel:
Dim MyData As DataObject
Private Sub CommandButton1_Click()
Set MyData = New DataObject
MyData.SetText TextBox1.Text
MyData.PutInClipboard
TextBox2.Paste
End Sub
Private Sub UserForm_Initialize()
TextBox1.Text = "Move this data to a " _
& "DataObject, to the Clipboard, then to " _
& "TextBox2!"
End Sub
Funktioniert nicht in meinem Fall. Ich habe jetzt lange gesucht und kann keine Antwort darauf finden, warum das DataObject-Objekt nicht verfügbar ist.
Hier ist mein Code:
Dim MyData As DataObject
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column = 3 Then
Set MyData = New DataObject
MyData.SetText ActiveCell.Offset(-1, -1).Text
MyData.PutInclipboard
End If
End Sub
Fehler beim Compilieren ist: „Benutzerdefiniert Typ nicht definiert“, und es unterstreicht die „MyData Als Datenobjekt“ -Zeile.
Gibt es eine andere Methode, um den Text in einer Zelle einfach in die Zwischenablage zu kopieren?
yep, dass das Problem war. Ich betreibe Win7 beta und anscheinend ist die FM20.dll nicht installiert. Ich wechselte zu einer XP Maschine, fügte die Referenz hinzu und jetzt funktioniert es wie erwartet. Danke curtisk –
Dies funktioniert nicht für mich auf Excel 2007/Windows 7. Hinzufügen eines Benutzerformulars fügt diese Bibliothek nicht hinzu, es ist nicht in Referenzen aufgeführt, und die FM20.DLL scheint nicht auf meinem System zu sein, damit ich Kann nicht manuell hinzugefügt werden. – Gruff
@Gruff Werfen Sie einen Blick in C: \ Windows \ System32 für FM20.dll, es ist auf meinem 64bit Win7 mit Office 2007 (SP3) – curtisk