Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Clipboard VBA Probleme

Clipboard VBA Probleme
23.10.2019 15:56:03
patthecat
Hallo liebe Excel-Gemeinde,
ich habe jetzt seit Tagen immer wieder Probleme mit der Clipboard-Funktion und vielleicht kann mir hier wer einen Denkanstoß geben bzw. meinen Verdacht bestätigen.
Der Code ist auch nichts Außergewöhnliches - deshalb ist meine Verwunderung groß:
Private Sub CommandButton5_Click()
Dim clipBoardObj As DataObject
Set clipBoardObj = New DataObject
clipBoardObj.SetText TextBox3.Text & "," & TextBox4.Text & "," & TextBox5.Text & "," &  _
TextBox6.Text & "," & ComboBox3.Text & "," & TextBox7.Text
clipBoardObj.PutInClipboard
End Sub
Folgender Fehler:
Es kommt hin und wieder vor, dass beim Einfügen zwei Fragezeichen "?" auftauchen! Dies tritt häufig bei einer Arbeitsspeicher-Auslastung von über 50% auf - ist das eventuell der Verursacher?
Falls notwendig meine aktiven Verweise:
Microsoft Forms 2.0 Object Library
Microsoft Office 16.0 Object Library
OLE Automation
Microsoft Excel 16.0 Object Library
Visual Basic for Applications
Ich bedanke mich schonmal im Voraus für jede Antwort.
LG Patthecat
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Clipboard VBA Probleme
23.10.2019 16:32:12
mmat
Hallo,
das ist ein Problem das öfter auftaucht, und nach dem was ich im Web so gefunden habe gibt es keine Abhilfe. Einfach ein Bug.
Workaroundvorschlag: Stell dir vor du hast ein Formular namens fCopySpace. Dadrin ist nur ein Textfeld namens eCopy. Dann funktioniert das so:
Sub txt2clip (s as string)
Load fCopySpace
fCopySpace.eCopy.Text = s
fCopySpace.eCopy.SelStart = 0
fCopySpace.eCopy.SelLength = Len(s)
fCopySpace.eCopy.Copy
Unload fCopySpace
end Sub
Der Code sieht vielleicht ein wenig unbehülflich aus, aber er funktioniert immer. Garantiert.
vg, MM
Anzeige
AW: Clipboard VBA Probleme
23.10.2019 18:01:43
patthecat
Hallo mmat,
vielen vielen lieben dank für deine rasche Antwort - ich habe es schon umgesetzt und bis jetzt funktioniert es problemlos =)
Denkanstoß hat geholfen.
LG patthecat
Danke für die Rückmeldung o.w.T
24.10.2019 10:10:39
mmat
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Clipboard VBA Probleme lösen


Schritt-für-Schritt-Anleitung

Um die Clipboard-Funktion in Excel VBA korrekt zu nutzen, befolge diese Schritte:

  1. Verweise aktivieren: Öffne den VBA-Editor (ALT + F11) und gehe zu Extras > Verweise. Aktiviere die folgenden:

    • Microsoft Forms 2.0 Object Library
    • Microsoft Office 16.0 Object Library
    • OLE Automation
    • Microsoft Excel 16.0 Object Library
  2. Code einfügen: Verwende den folgenden Code, um Text in die Zwischenablage zu kopieren:

    Private Sub CommandButton5_Click()
       Dim clipBoardObj As DataObject
       Set clipBoardObj = New DataObject
       clipBoardObj.SetText TextBox3.Text & "," & TextBox4.Text & "," & TextBox5.Text & "," & _
       TextBox6.Text & "," & ComboBox3.Text & "," & TextBox7.Text
       clipBoardObj.PutInClipboard
    End Sub
  3. Testen: Stelle sicher, dass der Code korrekt funktioniert, indem du das Formular ausführst und die Funktionalität überprüfst.


Häufige Fehler und Lösungen

  1. Fragezeichen "?" beim Einfügen: Wenn du beim Einfügen von Text zwei Fragezeichen siehst, könnte das auf eine hohe Arbeitsspeicher-Auslastung hindeuten. Achte darauf, dass dein System nicht überlastet ist.

  2. Excel VBA Fehler in der Zwischenablage: Wenn du Fehlermeldungen erhältst, überprüfe, ob alle erforderlichen Bibliotheken in den Verweisen aktiviert sind.

  3. Fehler in der Zwischenablage Excel: Ein häufiger Grund für Probleme ist die Verwendung von nicht unterstützten Datentypen. Stelle sicher, dass die Variable, die du in die Zwischenablage kopierst, vom Typ String ist.


Alternative Methoden

Falls du weiterhin Probleme mit vba clipboard hast, kannst du alternative Methoden verwenden, um Text in die Zwischenablage zu kopieren. Eine effektive Methode ist die Nutzung eines Formulars:

Sub txt2clip(s As String)
   Load fCopySpace
   fCopySpace.eCopy.Text = s
   fCopySpace.eCopy.SelStart = 0
   fCopySpace.eCopy.SelLength = Len(s)
   fCopySpace.eCopy.Copy
   Unload fCopySpace
End Sub

Diese Methode umgeht einige der Probleme, die mit der direkten Nutzung der Clipboard-Objekte verbunden sind.


Praktische Beispiele

Hier ist ein Beispiel für das Kopieren von Text aus mehreren Textboxen in die Zwischenablage:

Private Sub CommandButton5_Click()
    Dim clipBoardObj As DataObject
    Set clipBoardObj = New DataObject
    Dim textToCopy As String

    textToCopy = TextBox1.Text & "," & TextBox2.Text & "," & TextBox3.Text
    clipBoardObj.SetText textToCopy
    clipBoardObj.PutInClipboard
End Sub

Diese Methode sorgt dafür, dass alle Texte ordentlich in der Zwischenablage gespeichert werden.


Tipps für Profis

  • Verwendung von OpenClipboard: Wenn du mit der Zwischenablage arbeitest, nutze die OpenClipboard-Funktion, um sicherzustellen, dass die Zwischenablage nicht von anderen Anwendungen verwendet wird.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Probleme beim Zugriff auf die Zwischenablage zu vermeiden.

  • Ressourcenmanagement: Achte darauf, dass du alle Objekte nach der Nutzung korrekt freigibst, um Speicherlecks zu vermeiden.


FAQ: Häufige Fragen

1. Was sind die häufigsten Probleme mit der Excel VBA Clipboard?
Die häufigsten Probleme sind Fehler beim Setzen des Textes in die Zwischenablage oder unerwartete Zeichen wie Fragezeichen, besonders unter hoher Systemauslastung.

2. Wie kann ich sicherstellen, dass mein Clipboard-Code funktioniert?
Überprüfe, ob alle erforderlichen Bibliotheken aktiviert sind und teste den Code unter verschiedenen Bedingungen, um Probleme zu identifizieren.

3. Gibt es eine Alternative zur Verwendung des VBA Clipboard?
Ja, die Verwendung eines Formulars zur Verwaltung von Textfeldern kann eine zuverlässigere Methode sein, um Text in die Zwischenablage zu kopieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige