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

Forumthread: Zellinhalt in die Windows Zwischenablage (VBA)

Zellinhalt in die Windows Zwischenablage (VBA)
19.10.2006 19:49:46
Andy
Hallo,
ich möchte gerne per Makro/VBA den Inhalt der Zelle A1 (dort steht eine Zahl als Text formatiert z.B. "820033 111" drin. Diesen Wert möchte ich gerne in die Windows Zwischenablage kopieren, so dass ich ihn in andere Programme mit Strg+V einfügen kann.
Mit dem Makrorecorder komme ich nicht zum gewünschten Ergebnis, da er die Zelle nur für Excel (office Zwischenablage(glaub ich , heißt das)) kopiert.
Bitte freundlichst um Hilfe.
Gruß
Andy
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt in die Windows Zwischenablage (VBA)
19.10.2006 19:59:06
Beate
Hallo Andy,
es gibt nur eine Zwischenablage.
Sub in_Zwischenablage()
Range("A1").Copy
End Sub


Gruß,
Beate
Anzeige
AW: Zellinhalt in die Windows Zwischenablage (VBA)
19.10.2006 20:10:16
Andy
Die Variante funktionert nicht.
Es gibt zwei Zwischenablagen:
1. Man markiert A1 drückt Strg+C, die Zelle wird markiert, z:b. auf B1 einfügen drücken und der Inhalt samt Formatierung wird eingefügt.
2. Markiert man die Zelle A1, geht anschließend in die Zelle oben rechts neben dem = (da wo die Formeln stehen) markiert dort den Inhalt und drückt Str+C so wird der Inhalt in eine andere Zwischenablage kopiert, diesen Wert kann man auch in andere Programme einfügen.
Der Unterschied ist also die Formatierung wird einmal mit und einmal nicht mit kopiert.
Und ich brauche die zweite Version.
Gruß
Andy
Anzeige
AW: Zellinhalt in die Windows Zwischenablage (VBA)
19.10.2006 20:21:50
Nepumuk
Hallo Andy,
du musst auf FM20.dll einen Verweis setzen.
Public Sub test()
    Dim objDataObject As DataObject
    Set objDataObject = New DataObject
    objDataObject.SetText Range("A1").Text
    objDataObject.PutInClipboard
End Sub

Gruß
Nepumuk
Anzeige
AW: Zellinhalt in die Windows Zwischenablage (VBA)
19.10.2006 20:23:30
Beate
Hallo Andy,
Trotzdem gibt es nur eine Zwischenablage ::)).
Die Frage ist, was du da reinkopierst.
Eine Möglichkeit: Bediene dich einer standardformatierten Hilfszelle im Code, die du nachher wieder leerst, dann hast du nur den Wert von A1 und nicht das Format in der Zwischenablage:

Sub in_Zwischenablage()
Range("A1000").Value = Range("A1").Value
Range("A1000").Copy
Range("A1000").Clear
End Sub

Gruß,
Beate
Anzeige
Danke, die Nepumuk Variante war die bessere
20.10.2006 17:31:40
Andy
Danke @Nepumuk, die Variante funktioniert genauso wie ich das haben wollte.
Danke @ Beate, auch danke für Deine Hilfe.
Gruß
Andy
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt in die Windows Zwischenablage über VBA kopieren


Schritt-für-Schritt-Anleitung

Um den Inhalt einer Zelle in die Windows Zwischenablage zu kopieren, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Klicke auf "Einfügen" und wähle "Modul", um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Public Sub in_Zwischenablage()
        Dim objDataObject As New MSForms.DataObject
        objDataObject.SetText Range("A1").Text
        objDataObject.PutInClipboard
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.

Der Inhalt der Zelle A1 wird jetzt in die Windows Zwischenablage kopiert, sodass du ihn in andere Programme mit Strg + V einfügen kannst.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert" oder "MSForms.DataObject nicht gefunden".

    • Lösung: Stelle sicher, dass du einen Verweis auf "Microsoft Forms 2.0 Object Library" gesetzt hast. Gehe dazu im VBA-Editor auf "Extras" > "Verweise" und aktiviere die entsprechende Bibliothek.
  • Fehler: Der Inhalt wird nicht in die Zwischenablage kopiert.

    • Lösung: Überprüfe, ob der Code korrekt eingegeben wurde und dass die Zelle A1 tatsächlich einen Wert enthält.

Alternative Methoden

Wenn du eine andere Methode bevorzugst, um den Wert in die Zwischenablage zu kopieren, kannst du auch eine Hilfszelle verwenden. Hier ist ein Beispiel:

Sub in_Zwischenablage()
    Range("A1000").Value = Range("A1").Value
    Range("A1000").Copy
    Range("A1000").Clear
End Sub

Dies kopiert nur den Wert ohne Formatierung in die Zwischenablage.


Praktische Beispiele

Hier sind ein paar praktische Beispiele, wie du VBA verwenden kannst, um verschiedene Werte in die Zwischenablage zu kopieren:

  1. Text in die Zwischenablage kopieren:

    Public Sub TextInZwischenablage()
        Dim objDataObject As New MSForms.DataObject
        objDataObject.SetText "Hier steht dein Text"
        objDataObject.PutInClipboard
    End Sub
  2. Zahl in die Zwischenablage kopieren:

    Public Sub ZahlInZwischenablage()
        Dim objDataObject As New MSForms.DataObject
        objDataObject.SetText 123456
        objDataObject.PutInClipboard
    End Sub

Diese Beispiele zeigen, wie du sowohl Texte als auch Zahlen einfach in die Zwischenablage über VBA kopieren kannst.


Tipps für Profis

  • Nutze Application.CutCopyMode = False, um den "Kopier"-Modus nach dem Einfügen zu beenden.
  • Wenn du mehrere Werte kopieren möchtest, erstelle eine Schleife, um durch die Zellen zu iterieren.
  • Achte darauf, die richtige Datenart (Text oder Zahl) zu verwenden, um unerwartete Ergebnisse zu vermeiden.

FAQ: Häufige Fragen

1. Wie komme ich in die Zwischenablage?
Um Inhalte in die Zwischenablage zu kopieren, kannst du VBA verwenden, wie in diesem Leitfaden beschrieben. Alternativ kannst du auch die Standard-Tastenkombination Strg + C verwenden.

2. Was ist der Unterschied zwischen der Excel-Zwischenablage und der Windows-Zwischenablage?
Die Excel-Zwischenablage speichert Inhalte nur für Excel, während die Windows-Zwischenablage in allen Anwendungen funktioniert. Wenn du Inhalte in die Windows-Zwischenablage kopierst, kannst du sie in verschiedenen Programmen einfügen.

3. Unterstützt mein Excel die Zwischenablage?
Fast alle modernen Excel-Versionen unterstützen die Verwendung der Zwischenablage über VBA. Stelle sicher, dass dein Excel auf dem neuesten Stand ist, um Probleme zu vermeiden.

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