ich versuche eine Variable zu kopieren. Aber VBA will das nicht, warum?
Bsp:
Sub test()
Dim i
i = ActiveWorkbook.FullName
i.Value.Copy
End Sub
Sub test()
Dim i
i = ActiveWorkbook.FullName
i.Value.Copy
End Sub
Sub Zwischenablage()
Dim TB As New DataObject, i As String
i = ActiveWorkbook.FullName
Set TB = New DataObject
TB.SetText i
TB.PutInClipboard
Set TB = Nothing
End Sub
Sub KopiereDateinameInZwischenablage()
'Erfordert VBA-Verweis auf "Microsoft Forms 2.0 Object Library" !
Dim objData As DataObject
Set objData = New DataObject
objData.SetText ActiveWorkbook.FullName
objData.PutInClipboard
End Sub
Gruß, NoNetUm eine Variable in die Zwischenablage zu kopieren, benötigst Du die DataObject
-Klasse aus der "Microsoft Forms 2.0 Object Library". Folge diesen Schritten:
Verweis setzen: Gehe in den VBA-Editor, klicke auf Extras > Verweise
und aktiviere "Microsoft Forms 2.0 Object Library".
VBA-Code einfügen: Verwende den folgenden Code, um eine Variable in die Zwischenablage zu kopieren:
Sub Zwischenablage()
Dim TB As New DataObject
Dim i As String
i = ActiveWorkbook.FullName
TB.SetText i
TB.PutInClipboard
Set TB = Nothing
End Sub
Ausführen: Starte das Makro, um den Dateinamen in die Zwischenablage zu kopieren.
Fehlermeldung beim Kompilieren: Wenn Du eine Fehlermeldung erhältst, stelle sicher, dass der Verweis auf die "Microsoft Forms 2.0 Object Library" gesetzt ist. Das kann leicht übersehen werden.
Variable wird nicht kopiert: Vergewissere Dich, dass der Code korrekt eingegeben ist und die DataObject
-Klasse verwendet wird.
Wenn Du keine Verweise setzen möchtest, kannst Du auch einen Range
-Objekt verwenden:
Sub RangeInZwischenablage()
Dim i As String
i = ActiveWorkbook.FullName
' Temporär eine Zelle verwenden
Range("A1").Value = i
Range("A1").Copy
' Optional: Lösche den Inhalt wieder
Range("A1").ClearContents
End Sub
Diese Methode verwendet die Zwischenablage von Excel, um den Wert zu kopieren.
Hier sind einige Beispiele, wie Du verschiedene Typen von Variablen in die Zwischenablage kopieren kannst:
Text:
Sub TextInZwischenablage()
Dim TB As New DataObject
Dim text As String
text = "Das ist ein Beispieltext."
TB.SetText text
TB.PutInClipboard
End Sub
Werte:
Sub WertInZwischenablage()
Dim TB As New DataObject
Dim wert As Double
wert = 123.45
TB.SetText CStr(wert)
TB.PutInClipboard
End Sub
Diese Beispiele zeigen, wie einfach es ist, vba text in zwischenablage kopieren
oder vba wert in zwischenablage kopieren
.
Debug.Print
-Funktion, um sicherzustellen, dass die Variablen den richtigen Wert haben, bevor Du sie in die Zwischenablage kopierst.1. Warum funktioniert mein Code nicht?
Stelle sicher, dass der Verweis auf die "Microsoft Forms 2.0 Object Library" korrekt gesetzt ist.
2. Wie kann ich mehrere Variablen in die Zwischenablage kopieren?
Kombiniere die Werte zu einem String, bevor Du sie in die Zwischenablage kopierst, z.B. TB.SetText "Wert1: " & wert1 & " Wert2: " & wert2
.
3. Ist es möglich, einen Bereich anstelle einer einzelnen Variablen zu kopieren?
Ja, Du kannst einen Bereich kopieren, indem Du die Copy
-Methode von einem Range
-Objekt verwendest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen