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

Paste Von Clipboard

Forumthread: Paste Von Clipboard

Paste Von Clipboard
15.04.2009 21:50:59
MBorn
Hallo und Guten Abend,
ich wühle seit einer dreiviertel Stunde im Internet nach einer einfachen Lösung für
"Paste den Text-Inhalt des Clipboards in eine bestimmte Zelle" von Excel 2007.
Manche schreiben ellenlange Skripte, manche wollen irgendwelche libraries aktivieren.
Nichts funktionierte bisher.
Gibt es nicht eine einfache Lösung?
Danke,
Born
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Paste Von Clipboard
15.04.2009 22:16:11
Josef
Hallo M?
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub TextFromClipboard()
  'Benötigt den Verweis auf "Microsoft Forms 2.x Object Library" (unter Extras > Verweise)
  Dim objCBData As DataObject
  
  Set objCBData = New DataObject
  
  On Error GoTo ErrNoText
  objCBData.GetFromClipboard
  Range("A1") = objCBData.GetText
  
  ErrNoText:
  If Err.Number <> 0 Then MsgBox "Kein Text in der Zwischenablage!"
  
  Set objCBData = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Paste Von Clipboard
15.04.2009 22:25:43
MBorn
Hallo Sepp,
herzlichen Dank für das Skript. Es funktioniert prinzipiell - jedenfalls insoweit,
daß ich ständig die Meldung "Kein Text in Zwischenablage" bekommen.
Verstehe ich etwas falsch: Wenn ich in Excel (oder Windows) etwas kopiere,
dann landet es doch in der Zwischenablag, oder?
Also müßte doch Text in der Zwischenablage sein, wenn ich gerade den Inhalt
einer Zelle kopiert habe?
Verstehst Du das?
Mit Gruß,
Born
Anzeige
AW: Paste Von Clipboard
15.04.2009 22:34:34
Josef
Hallo,
ja, ich verstehe es;-)
Wenn du in Excel eine Zelle kopierts, dann hat das nur bedingt mit der Windows-Zwischenablage zu tun.
Kopiere mal den Zellinhalt in der Bearbeitungsleiste und du wirst sehen das es klappt.
Wenn du eine Zelle kopierst, dann befindet sich nicht der Zelltext in der Zwischeablage, sondern
quasi die Zelle als Range/Object.
Wenn du nur innerhalb von Excel kopieren willst, dann reicht das.
Sub PPaste()
  If Application.CutCopyMode Then
    ActiveSheet.Paste
    'oder
    'ActiveCell.PasteSpecial xlValues
  End If
End Sub

Gruß Sepp

Anzeige
;
Anzeige

Infobox / Tutorial

Excel VBA: Clipboard Inhalte einfügen


Schritt-für-Schritt-Anleitung

Um den Textinhalt des Clipboards in eine bestimmte Zelle in Excel einzufügen, kannst du den folgenden VBA-Code verwenden. Dieser Code funktioniert in Excel 2007 und späteren Versionen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub TextFromClipboard()
    Dim objCBData As New MSForms.DataObject
    On Error GoTo ErrNoText
    objCBData.GetFromClipboard
    Range("A1") = objCBData.GetText
    Exit Sub
ErrNoText:
    If Err.Number <> 0 Then MsgBox "Kein Text in der Zwischenablage!"
End Sub
  1. Stelle sicher, dass die "Microsoft Forms 2.x Object Library" aktiviert ist. Gehe dazu auf Extras > Verweise und aktiviere die Bibliothek.
  2. Schließe den VBA-Editor und kehre zu Excel zurück.
  3. Kopiere den Text, den du einfügen möchtest, in die Zwischenablage.
  4. Führe das Makro TextFromClipboard aus, um den Text in die Zelle A1 einzufügen.

Häufige Fehler und Lösungen

  • Fehler: "Kein Text in der Zwischenablage!"

    • Stelle sicher, dass du den Text aus der Bearbeitungsleiste kopierst und nicht direkt aus einer Zelle. Der Code funktioniert nur, wenn der Text in der Windows-Zwischenablage vorhanden ist.
  • Problem mit der Objektbibliothek

    • Wenn du die Fehlermeldung erhältst, dass die "Microsoft Forms 2.x Object Library" nicht gefunden werden kann, gehe sicher, dass du alle notwendigen Bibliotheken installiert hast.

Alternative Methoden

Wenn du eine einfachere Methode ohne VBA verwenden möchtest, kannst du den Inhalt des Clipboards manuell einfügen:

  1. Kopiere den gewünschten Text in die Zwischenablage.
  2. Wähle die Zelle in Excel aus, in die du den Text einfügen möchtest.
  3. Drücke CTRL + V, um den Inhalt einzufügen.

Für spezielle Anforderungen kannst du auch Paste Special verwenden, um nur Werte oder Formate einzufügen.


Praktische Beispiele

Hier sind zwei praktische Beispiele, wie du den vba clipboard paste in verschiedenen Szenarien nutzen kannst:

  1. In eine bestimmte Zelle einfügen:

    Sub PasteToSpecificCell()
       If Application.CutCopyMode Then
           Range("B2").PasteSpecial xlValues
       End If
    End Sub
  2. In einen gesamten Bereich einfügen:

    Sub PasteToRange()
       If Application.CutCopyMode Then
           Range("A1:A10").PasteSpecial xlValues
       End If
    End Sub

Diese Beispiele zeigen, wie du das excel vba paste from clipboard effizient nutzen kannst.


Tipps für Profis

  • Nutze die Application.CutCopyMode-Eigenschaft, um festzustellen, ob sich etwas in der Zwischenablage befindet, bevor du das Einfügen versuchst.
  • Experimentiere mit verschiedenen PasteSpecial-Argumenten, um nur bestimmte Aspekte der kopierten Daten einzufügen (z. B. nur Werte, nur Formate usw.).
  • Halte deine Makros organisiert, indem du sie in separate Module unterteilst, besonders wenn du mehrere Funktionen verwendest.

FAQ: Häufige Fragen

1. Wie kann ich den Clipboard-Inhalt in eine andere Zelle einfügen? Du kannst den Zielbereich einfach im Code anpassen, indem du Range("A1") durch die gewünschte Zelle ersetzt.

2. Welche Excel-Versionen unterstützen diese VBA-Techniken? Diese Techniken funktionieren in Excel 2007 und späteren Versionen. Achte darauf, dass die "Microsoft Forms 2.x Object Library" aktiviert ist.

3. Kann ich diesen Code anpassen, um mehrere Zellen gleichzeitig zu befüllen? Ja, du kannst eine Schleife verwenden oder den Zielbereich in Range("A1:A10") anpassen, um mehrere Zellen auf einmal zu befüllen.

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