Wie kann ich prüfen, ob die Zwischenablage leer ist oder nicht?
Danke Ralph
Wie kann ich prüfen, ob die Zwischenablage leer ist oder nicht?
Danke Ralph
Trotzdem Danke
Range("A1").Value=""
Range("A1").Paste
If Range("A1").Value<>"" Then
MsgBox "Zwischenablage NICHT leer"
Else MsgBox "Zwischenablage leer"
End IF
Ich kann den code im Moment leider selbst nicht überprüfen, da sich meim Excel nicht starten läßt. Wiedermal, wie schon oft beim Besuch des Forums,
"EXCEL verursachte einen Fehler durch eine ungültige Seite in Modul VBE6.DLL bei 0167:6512cb19."
nach Start von Excel und es hilft nur ein W98-Neustart.
Gruss Anugyan
Man muß nur vor dem "Paste" ein "On Error Resume Next" setzen, damit das Skript nicht abbricht, wenn die Zwischenablage leer ist.
Um zu prüfen, ob die Zwischenablage in Excel VBA leer ist, kannst Du den folgenden VBA-Code verwenden. Dieser Code nutzt die DataObject-Klasse, um die Inhalte der Zwischenablage auszulesen.
ALT + F11, um den VBA-Editor zu öffnen.Option Explicit
Sub ClipboardCheck()
Dim TestDaten As MSForms.DataObject
Set TestDaten = New MSForms.DataObject
On Error Resume Next
TestDaten.GetFromClipboard
If Err.Number <> 0 Then
MsgBox "Die Zwischenablage enthält keine Daten!"
Else
MsgBox "Die Zwischenablage ist nicht leer."
End If
End Sub
ClipboardCheck aus, um die Prüfung durchzuführen.Fehler: "Das Objekt unterstützt diese Methode nicht."
Fehler: "Die Zwischenablage ist leer!"
Wenn Du die Zwischenablage in Excel VBA auslesen möchtest, kannst Du auch eine andere Methode verwenden, die auf dem Range-Objekt basiert:
Sub AlternateClipboardCheck()
Range("A1").Value = ""
On Error Resume Next
Range("A1").Paste
If Range("A1").Value <> "" Then
MsgBox "Die Zwischenablage ist nicht leer."
Else
MsgBox "Die Zwischenablage ist leer."
End If
End Sub
Diese Methode überprüft, ob nach dem Einfügen von Inhalten in die Zelle A1 etwas vorhanden ist.
Hier sind zwei Beispiele, wie Du die Zwischenablage in VBA nutzen kannst:
Sub PasteClipboardToCell()
Dim TestDaten As MSForms.DataObject
Set TestDaten = New MSForms.DataObject
On Error Resume Next
TestDaten.GetFromClipboard
If Err.Number = 0 Then
Range("A1").Value = TestDaten.GetText
End If
End Sub
Sub ClearClipboard()
Dim TestDaten As MSForms.DataObject
Set TestDaten = New MSForms.DataObject
TestDaten.SetText ""
TestDaten.PutInClipboard
MsgBox "Die Zwischenablage wurde geleert."
End Sub
On Error Resume Next, um sicherzustellen, dass Dein Code nicht abbricht, wenn die Zwischenablage leer ist.DataObject-Klasse zu verwenden, um auf die Excel VBA Zwischenablage zuzugreifen, da der direkte Zugriff auf die Zwischenablage in VBA nicht möglich ist.1. Wie kann ich den Inhalt der Zwischenablage in eine Excel-Zelle einfügen?
Du kannst den Inhalt der Zwischenablage mit dem Paste-Befehl in eine Zelle einfügen, wie im Beispiel oben gezeigt.
2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der Code sollte in allen gängigen Excel-Versionen, die VBA unterstützen, funktionieren. Achte jedoch darauf, dass die Microsoft Forms 2.0-Bibliothek aktiviert ist.