Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Doppelklick Zwischenablage

Doppelklick Zwischenablage
21.02.2022 11:55:46
Andy
Guten Tag,
ich benötige mal etwas Hilfe bei einer - hoffentlich einfachen - Sache.
In einer Zelle berechne ich mir den Zellinhalt. Als Ergebnis steht dort dann ein Satz mit Werten, die ich aus anderen Zellen zusammensetze.
Nun möchte ich diesen Satz in der Zelle per Doppelklick in die Zwischenablage kopieren und in Teams einfach in einen Chat einfügen.
Folgendes Script habe ich mit Hilfe der Googlesuche auf meine Bedürfnisse angepasst:

Option Explicit
Public Text As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim oData As New DataObject
'Text ohne Formatierung in die Zwischenablage kopieren
Const C_CLASS_MSFORMS_DATAOBJECT As String = "new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"
Dim o As Object              ' LateBinding (nur n�tig wenn keine Userform vorhanden ist)
Set o = CreateObject(C_CLASS_MSFORMS_DATAOBJECT) ' LateBinding
Text = Target.Resize(1, 1).Text
Call o.SetText(Text, 1)
Call o.PutInClipboard
Set o = Nothing
MsgBox Text 'Kontrolle Zwischenablage
End Sub
Beim Einfügen der Zwischenablage wird der Inhalt jedoch fast immer nur als ? eingefügt (auch in Notepad). Ab und zu funktioniert es auch mal komplett. Ich habe jedoch keinen Lösungsansatz für mein Problem. Vielleicht kann mir jemand helfen?
VG Andy
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick Zwischenablage
21.02.2022 12:03:01
{Boris}
Hi,
in ein allgemeines Modul:

Sub kopieren(DerWert As Variant)
Dim objClip As DataObject
Set objClip = New DataObject
objClip.SetText DerWert
objClip.PutInClipboard
End Sub
In das Codemodul des entsprechenden Tabellenbalttes:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Call kopieren(Target)
End Sub
Kann sein, dass Du noch ein leeres Userform einfügen musst, damit der Code läuft.
VG, Boris
Anzeige
AW: Doppelklick Zwischenablage
21.02.2022 12:48:12
klappt
Leider zeigt das Ergebnis auch nur ï¿¿ï¿¿
Muss dazu evtl. ein Verweis aktiviert werden oder der Zeichensatz irgendwie angepasst werden?
Userform habe ich auch hinzugefügt
21.02.2022 12:50:18
Andy
den VBA Code habe wir beschrieben im Module und Sheet eingebunden. Mit dem UF habe ich auch getestet.
leider ohne Erfolg...
Dann zeig doch bitte mal...
21.02.2022 12:53:18
{Boris}
Hi,
Deine Datei mit dem Zellwert, der als ï¿¿ï¿¿ in die Zwischenablage kopiert wird.
Kannst alles andere aus der Datei entfernen.
VG, Boris
Anzeige
kleine Ergänzung...
21.02.2022 16:05:55
Andy
mit dem folgenden Code kann man zwar den Zellinhalt kopieren, jedoch wird die Formatierung mit übernommen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Target.Resize(1, 1).Copy
End Sub
Das Problem ist dabei nur, dass man den Text bei schwarzem Design in Text nicht lesen kann. Der Text muss also ohne Formatierung kopiert werden.
Anzeige
Keine Ahnung...
21.02.2022 16:21:55
{Boris}
Hi,
...ich stell mal auf offen.
Teste mal

Sub kopieren(DerWert As Range)
Dim objClip As DataObject
Set objClip = New DataObject
objClip.SetText DerWert
objClip.PutInClipboard
 MsgBox objClip.GetText
'Ergbnis der Zwischenablage:  ?
End Sub
Da wird der korrekte Inhalt der Zwischenablage angezeigt.
Also: Noch offen.
VG, Boris
Anzeige
AW: Keine Ahnung...
24.02.2022 11:17:16
Andy
Ich habe die Messagebox mal eingebunden und getestet:
gestern klappte es... heute leider wieder nicht, es erscheinen beim einfügen wieder die zwei ?
AW: Keine Ahnung...
27.02.2022 07:41:37
Oberschlumpf
Hi,
ich kann Boris Aussage bestätigen:
Sowohl in der MsgBox als auch in einer Worddatei wird der Inhalt einer beliebigen Zelle aus Excel per Doppelklick in die Zwi.ablage kopiert und dann eben angezeigt/eingefügt - ohne ?
Kann es vielleicht an deinem Excel und oder an deinem Computer liegen? (mit dein Excel mein ich nich die Bsp- oder Originaldatei, sondern das Programm selbst)
Hast du die Bsp/Original-Datei mal auf einem anderen Computer getestet?
Ciao
Thorsten
Anzeige
AW: Doppelklick Zwischenablage
23.02.2022 18:06:21
Yal
Hallo Andy,
kopiere wie gewonnt die Zelle mit Strg+C oder rechtklick, zweiter Eintrag "Kopieren",
In OneNote machst Du aber nicht faul Strg+V, sondern rechtsklick und die Einfügeoption mit dem "A": "nur den Text übernehmen (T)" anklicken.
"(T)" bedeutet in dem Fall, dass Du diese Einfügeoption, entweder
nachdem Du rechgeklickt und den Kontextmenü hast, "t" drucken kannst, oder
nachdem Du an der Zielstelle einmal geklickt hast, mit der Kontextmenü-Taste (neben dem rechte "Strg"-Taste) und dann "t"
das gleich erreichen kannst.
VBA jederzeit gern, aber in dem Fall eindeutig nein. Denn es müsste das Kopierverhalten in Excel beschränken, was nicht geht. Nur beim Einfügen wird auf das, was Du brauchst, beschränkt. Und das findet eben nicht mehr in Excel statt.
VG
Yal
Anzeige
Wie komme ich auf OneNote?
23.02.2022 18:45:02
Yal
Alternativ:
mit Power Shell den Inhalt vom Clipboard auf dem Text reduzieren:
Set-Clipboard $(Get-Clipboard -TextFormatType Text)
im Powershell ISE:
_ kopieren in Excel
_ mit Alt+Tab auf Powershell ISE, wo dieser Code bereit steht
_ F5 drücken (Run Script)
_ mit Alt-Tab in der Ziel-Anwendung wechseln
_ Strg+C
oder als Commandline (Win+R) oder in einem Batch-Datei auf dem Desktop, die mit einer Tastenkombi ausführbar wird (Die Winsecurity mögen das nicht):
powershell Set-Clipboard $(Get-Clipboard -TextFormatType Text)
es geht sogar über VBA:

Sub Makro1()
' Tastenkombination: Strg+b
Shell "powershell.exe Set-Clipboard $(Get-Clipboard -TextFormatType Text)", vbNormalFocus
End Sub
Da diese Makro den Kurzel Strg+b zugeordnet ist, muss man Strg+c, Strg+b (beachten, dass die Aktion ein gewisse Zeit braucht, daher NormalFocus), Strg+v
VG
Yal
Anzeige
AW: Wie komme ich auf OneNote?
24.02.2022 11:23:28
Andy
In Teams (nicht OneNote) steht mir leider nur die Funktion "einfügen STRG+V" in Kontextmenü zur Verfügung.
Dein PowerShell Vorschlag habe ich nicht so richtig verstanden, da ich mich in diesem Thema nicht auskenne. Wie wäre das denn an mein Beispiel anzupassen?
AW: Wie komme ich auf OneNote?
24.02.2022 11:38:39
Yal
Hallo Andy,
in solche Fälle mache ich
_ Strg+c (in Excel)
_ Win+r (öffnet "Ausführen")
_ Strg+v
_ Strg+a (alles markieren)
_ Strg+c
_ Strg+v (im Ziel-Anwendung)
Es hört sich umständlich, ist es aber nicht. Wenn man es verinnerlicht hat, ist es logisch und einfach. (na gut, ich bin zugegebenermassen Tastatur-Junky).
Ich mache dafür keine Spielerei mit Makros, die sowieso gestartet werden müssten, was auch umständlich ist.
VG
Yal
Anzeige
VBA noch nicht gelöst
24.02.2022 15:41:31
Andy
Das ist natürlich auch über notepad++ so zu lösen. Ist für meinen Fall aber zu umständlich, daher suche ich eine VBA Lösung.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Doppelklick für die Zwischenablage in Excel nutzen


Schritt-für-Schritt-Anleitung

Um den Inhalt einer Zelle mit einem Doppelklick in die Zwischenablage zu kopieren, kannst du folgendes VBA-Skript verwenden.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge in ein allgemeines Modul folgenden Code ein:

    Sub kopieren(DerWert As Variant)
       Dim objClip As DataObject
       Set objClip = New DataObject
       objClip.SetText DerWert
       objClip.PutInClipboard
    End Sub
  3. Gehe zum Codemodul des entsprechenden Tabellenblattes und füge diesen Code ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Cancel = True
       Call kopieren(Target.Text)
    End Sub
  4. Stelle sicher, dass das Microsoft Forms 2.0 Object Library aktiviert ist. Gehe dazu auf Extras > Verweise und aktiviere es, falls notwendig.

  5. Speichere die Datei als .xlsm (Makro-fähige Arbeitsmappe).

Jetzt solltest du in der Lage sein, den Zellinhalt per Doppelklick in die Zwischenablage zu kopieren.


Häufige Fehler und Lösungen

  • Problem: Der Inhalt wird als ? eingefügt.

    • Lösung: Stelle sicher, dass der Zellinhalt korrekt als Text kopiert wird. Überprüfe auch die Einstellungen der Zwischenablage und teste den Code auf einem anderen Computer.
  • Problem: Die Formatierung wird mitkopiert.

    • Lösung: Verwende den .Text-Parameter im kopieren-Aufruf, um nur den Text ohne Formatierung zu kopieren.

Alternative Methoden

Wenn VBA nicht deine bevorzugte Lösung ist, kannst du auch folgende Methoden nutzen:

  1. PowerShell-Skript verwenden:

    • Um den Inhalt der Zwischenablage auf Text zu reduzieren, kannst du folgendes PowerShell-Skript ausführen:
    Set-Clipboard $(Get-Clipboard -TextFormatType Text)
    • Du kannst dieses Skript in Excel über ein Makro ausführen.
  2. Direktes Kopieren:

    • Du kannst die Zelle auch manuell mit Strg + C kopieren und dann in die Zielanwendung einfügen. In OneNote kannst du dann die Option "nur den Text übernehmen" wählen.

Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung des Doppelklicks:

  • Beispiel 1: Wenn du in Zelle A1 einen Satz hast, der aus den Werten anderer Zellen zusammengesetzt ist, kannst du durch einen Doppelklick auf A1 den Satz in die Zwischenablage kopieren und in Teams einfügen.

  • Beispiel 2: Wenn du eine Liste von Namen in Spalte A hast, kannst du jeden Namen durch einen Doppelklick in die Zwischenablage kopieren und in eine E-Mail oder ein Dokument einfügen.


Tipps für Profis

  • Excel Doppelklick auf Zelle Shortcut: Nutze die ALT-Taste in Kombination mit dem Doppelklick, um schneller zwischen Zellen und der Zwischenablage zu navigieren.

  • Makros optimieren: Überprüfe regelmäßig deine Makros und optimiere sie, um die Leistung zu verbessern.

  • Sicherheitskopien erstellen: Erstelle Sicherheitskopien deiner Makros, bevor du Änderungen vornimmst, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie komme ich an die Zwischenablage?
Die Zwischenablage wird in Windows standardmäßig verwendet, um kopierte Inhalte zwischen Anwendungen zu übertragen. Du kannst die Zwischenablage durch Drücken von Strg + V in die Zielanwendung einfügen.

2. Wo finde ich die Zwischenablage?
Es gibt keine direkte "Ansicht" für die Zwischenablage in Excel. Du kannst jedoch den Inhalt der Zwischenablage in Anwendungen wie Notepad oder Word einfügen, um den aktuell kopierten Text anzuzeigen.

3. Wie komme ich an meine Zwischenablage?
Du kannst die Zwischenablage jederzeit nutzen, indem du Inhalte kopierst und dann in eine andere Anwendung einfügst.

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