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

Forumthread: Excel mit CommandButton in Zwischenablage kopieren

Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 09:38:32
Stefan
Hallo Leute,
vielleicht kann mir von euch jemand helfen. Ich möchte ein Textbausteintool bauen.
Hintergrund: ich möchte im Tabellenblatt 1 (Textbausteintool) mit einem dort eingefügten CommandButton (befindet sich in Zelle A1-Tabellenblatt1), durch einen Klick auf den Button den Inhalt einer vordefinierten Zelle in die Zwischenablage kopieren.
Beispiel: Der Text für den CommandButton der kopiert werden soll (wenn möglich mit Formatierung (zB Fettgeschriebene Wörter) und ohne Anführungszeichen am Anfang oder Ende) befindet sich im Tabellenblatt 2 (Textvorlagen) in der Zelle A1.
Ich möchte nun durch das klicken des CommandButtons die Textvorlage die in Zelle A1 Tabellenblatt 2 (Textvorlagen) hinterlegt ist in die Zwischenablage kopieren, den in der Zwischenablage befindlichen Inhalt möchte ich dann einfach über STRG+V bei z.B. Word oder einem anderen Programm einfach einfügen können. Ist das möglich?
Ich bin verzweifelt seit einigen Tagen am rumexperimentieren, konnte aber auch trotz Google keine Lösug dafür finden und verzweifel langsam :( Vielleicht hat von euch jemand einen Tipp für mich wie ich das bewerkstelligen kann? Bzw. evt. gibt es für eine Art „Textbausteintool schon eine Vorlage? Ich habe leider nichts gefunden :(
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 11:45:09
Nepumuk
Hallo Stefan,
teste mal:
Private Sub CommandButton1_Click()
    Worksheets("Tabelle2").Range("A1").Copy
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 13:36:20
Stefan
Danke schonmal für deine Mühe, das hatte ich zwar noch nicht gefunden - aber leider werden wenn ich den Text zB im Editor einfüge Anführungszeichen vorne und hinten gesetzt, genau das darf leider nicht passieren :(
Meinst du da gibt es eine Lösung für?
AW: Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 13:47:24
Nepumuk
Hallo Stefan,
die Anführungszeichen werden von "dem anderen Programm" gesetzt. Das hat nichts mit Excel zu tun.
Gruß
Nepumuk
Anzeige
AW: Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 14:19:01
Stefan
Echt? Aber wenn ich irgendwo einen Text kopiere und den einfüge kommen doch auch keine Anführungszeichen. Ich will also quasi nicht die Zelle kopieren sondern tatsächlich nur den Inhalt , das ist nicht möglich?
AW: Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 14:37:11
Nepumuk
Hallo Stefan,
teste mal:
Public Sub CopyRange()
    Dim objClipBoard As Object
    Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Call objClipBoard.SetText(Worksheets("Tabelle2").Range("A1").Text)
    Call objClipBoard.PutInClipboard
    Set objClipBoard = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel mit CommandButton in Zwischenablage kopieren
18.08.2018 14:42:36
Stefan
Also so?:
Private Sub CommandButton1_Click()
Dim objClipBoard As Object
Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Call objClipBoard.SetText(Worksheets("Textvorlagen").Range("A1").Text)
Call objClipBoard.PutInClipboard
Set objClipBoard = Nothing
End Sub
Blöde Frage aber was ist der Unterschied zwischen Privatem Sub und public Sub?
Und leider funktioniert das nicht, das einzige was in der Zwischenablage landet sind zwei Fragezeichen:
Anzeige
Das kommt auf die empfangende App an
18.08.2018 13:51:36
EtoPHG
Stefan,
denn mit z.B. Cells(1,1).Copy wird die Zelle in den Zwischenspeicher abgelegt.
Aber wie das empfangende Programm (Word, Notepad, Editor, Excel oder...) mit Ctrl-V (Einfügen) umgeht, bzw. konvertiert wird, ist komplett von diesem abhängig. So verliert z.B. der Editor oder Notepad sämtliche Formatierungen und nur der Textinhalt erscheint, wohingegen Word die Formatierungen übernimmt (Stichwort RTF) und Excel mehr oder minder das Zell-Objekt einfügt.
Hajo hat bestimmt was im Petto. Seine Posts bestehen oft aus Textbausteinen, die praktisch keinen Bezug zur Anfrage haben ;-)
Gruess Hansueli
Anzeige
Uiuiui, hast du keine Angst...
18.08.2018 14:55:55
Werner
Hallo Hansueli,
...dass es dir so wie mir geht und du namentlich in seinen sinnfreien Antworten erwähnt wirst?
Gruß Werner
Nee keine Angst. Ich werd schon erwähnt! ;-) owT
18.08.2018 16:45:20
EtoPHG

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel mit CommandButton in die Zwischenablage kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

    • Füge in Zelle A1 des Tabellenblatts 1 (Textbausteintool) einen CommandButton hinzu.
  2. Füge den VBA-Code hinzu.

    • Klicke mit der rechten Maustaste auf den CommandButton und wähle "Code anzeigen".
    • Kopiere den folgenden Code in das sich öffnende Fenster:
    Private Sub CommandButton1_Click()
       Dim objClipBoard As Object
       Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
       Call objClipBoard.SetText(Worksheets("Textvorlagen").Range("A1").Text)
       Call objClipBoard.PutInClipboard
       Set objClipBoard = Nothing
    End Sub
  3. Testen der Funktionalität.

    • Speichere die Datei als Makro-aktivierte Arbeitsmappe (*.xlsm).
    • Klicke auf den CommandButton, um den Inhalt der Zelle A1 im Tabellenblatt 2 (Textvorlagen) in die Zwischenablage zu kopieren.
  4. In einem anderen Programm einfügen.

    • Öffne ein Textverarbeitungsprogramm (z.B. Word) und drücke STRG + V, um den kopierten Text einzufügen.

Häufige Fehler und Lösungen

  • Fehler: "Der Inhalt konnte nicht in die Zwischenablage kopiert werden."

    • Überprüfe, ob der Code korrekt eingegeben wurde und ob sich der Text in der richtigen Zelle befindet.
  • Anführungszeichen werden hinzugefügt.

    • Dies liegt nicht an Excel, sondern an der empfangenden Anwendung. Stelle sicher, dass du nur den Textinhalt und nicht die Zelle kopierst.
  • Fragezeichen in der Zwischenablage.

    • Achte darauf, dass du den richtigen Code verwendest und dass die Zelle A1 auf das richtige Tabellenblatt verweist.

Alternative Methoden

  • Direktes Kopieren der Zelle:

    • Verwende Cells(1, 1).Copy, um die gesamte Zelle zu kopieren, aber beachte, dass dies alle Formatierungen übernimmt.
  • Verwendung von Clipboard-Tools:

    • Nutze externe Tools, die die Zwischenablage verwalten, um den kopierten Inhalt besser zu steuern.

Praktische Beispiele

  • Beispiel 1: Einfaches Textbausteintool

    • Setze verschiedene Vorlagen in Zelle A1 des Tabellenblatts "Textvorlagen" und klicke auf den CommandButton, um sie in die Zwischenablage zu kopieren.
  • Beispiel 2: Formatierungen beibehalten

    • Wenn du Text mit Formatierungen kopieren möchtest, stelle sicher, dass du die richtige Methode zum Kopieren von Zellen verwendest, wie z.B. Range.Copy.

Tipps für Profis

  • Verwende Public Sub statt Private Sub, wenn du den Code von mehreren Stellen aufrufen möchtest.
  • Teste den Code in verschiedenen Excel-Versionen, um sicherzustellen, dass er überall funktioniert.
  • Experimentiere mit verschiedenen Zellen und Formateinstellungen, um zu sehen, wie sich diese auf den kopierten Inhalt auswirken.

FAQ: Häufige Fragen

1. Warum erscheinen Anführungszeichen beim Einfügen in Word? Die Anführungszeichen werden von der empfangenden Anwendung hinzugefügt und nicht von Excel selbst.

2. Wo befindet sich die Zwischenablage in Excel? Die Zwischenablage ist ein temporärer Speicher, der nicht direkt in Excel sichtbar ist, aber durch Kopieren und Einfügen von Inhalten genutzt wird.

3. Wie kann ich sicherstellen, dass der Text ohne Formatierungen kopiert wird? Verwende die Methode SetText im VBA-Code, um nur den reinen Text ohne Formatierungen 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