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

Forumthread: Kopieren von Text in die Zwischenablage

Kopieren von Text in die Zwischenablage
16.08.2006 10:49:59
Text
Hallo,
banale Frage an den Excel Profi:
Ich möchte gerne per Makro den Text (der aktiven Zeile ) Zelle A, B, D, E in die Zwischenablage kopieren.
Per Makrorecorder wird immer das gesamte Objekt kopiert, ich möchte aber nur den Text ohne Formatierungen kopieren.
Wer kann mir kurz auf die Sprünge helfen.
Danke
luet
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Text in die Zwischenablage
16.08.2006 11:23:53
Text
Hallo luet (VBA gut...),
Folgende Routine kopiert den Textwert der aktiven Zelle in das Clipboard

Private Sub X()
Dim doClipText As DataObject
Set doClipText = New DataObject
doClipText.SetText (ActiveCell.Value)
doClipText.PutInClipboard
End Sub

Gruss Hansueli
Anzeige
AW: Kopieren von Text in die Zwischenablage
16.08.2006 15:01:59
Text
Hallo,
leider geht das Makro nicht. Benutzerdefinierter Typ nicht definiert.
Welchen Verweis muß ich setzen um mit dem DataObjekt zu arbeiten?
Thx
luet
AW: Kopieren von Text in die Zwischenablage
16.08.2006 15:18:49
Text
Hallo Luet,
Verweis: Microsoft Forms 2.0 Object Library
Gruss Hansueli
AW: Kopieren von Text in die Zwischenablage
16.08.2006 15:57:28
Text
Hallo,
wie bekomme ich jetzt von der aktiven Zelle ( aus der Reihe ) die Zelle A, B, D, E.
Diesen gesamten Text möchte ich in die Zwischenablage kopieren.
Thx
luet
Anzeige
AW: Kopieren von Text in die Zwischenablage
16.08.2006 16:19:31
Text
Hallo luet,
Das kann man natürlich in VBA ausprogrammieren.
Die Frage ist, Wie sollen die Texte voneinander getrennt sein ?
z.B. Spaltenweise durch TAB oder BLANK oder ...
Zeilenweise durch CRLF oder TAB oder ...
Gruss Hansueli
AW: Kopieren von Text in die Zwischenablage
16.08.2006 16:24:58
Text
Am besten durch Leerzeichen
thx
luet
Anzeige
AW: Kopieren von Text in die Zwischenablage
16.08.2006 16:46:00
Text
Hallo,
Dann so:

Private Sub X()
Dim doClipText As DataObject
Dim strClipTxt As String
Dim rCell As Range
For Each rCell In Selection
strClipTxt = strClipTxt & rCell.Value & " "
Next
Set doClipText = New DataObject
doClipText.SetText (Left(strClipTxt, Len(strClipTxt) - 1))
doClipText.PutInClipboard
End Sub

Gruss Hansueli
Anzeige
AW: Kopieren von Text in die Zwischenablage
16.08.2006 11:27:45
Text
Hallo luet..

Sub Makro1()
'Markiere den zu übernehmenden Bereich
Range("C5:F5").Select
'kopiere Ihn in die Zwischenablage
Selection.Copy
'Markiere den Zielbereich
Range("C10").Select
'Setze nur die Werte ein
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

Anzeige
AW: Kopieren von Text in die Zwischenablage
16.08.2006 14:04:00
Text
Danke für die Tipps,
aber ich wollte das Kopierte in der Zwischenablage später über Strg + V in eine andere Textverarbeitung einfügen. In Word habe ich dann immer sämtliche Zellen ( mit Formatierungen ) mit kopiert.
Deswegen geht Selection.Copy nicht. Ich möchte nur den reinen Text in der Zwischenablage haben, keine Objekte!
Danke für weitere Tipps.
luet
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text in die Zwischenablage kopieren mit VBA


Schritt-für-Schritt-Anleitung

Um Text aus bestimmten Zellen in die Zwischenablage zu kopieren, kannst Du folgenden VBA-Code verwenden. Dieser Code kopiert den Text aus den Zellen A, B, D und E der aktiven Zeile und fügt sie in die Zwischenablage ein:

Private Sub KopiereTextInZwischenablage()
    Dim doClipText As DataObject
    Dim strClipTxt As String
    Dim rCell As Range

    ' Die gewünschten Zellen definieren
    Dim rng As Range
    Set rng = Union(ActiveCell.EntireRow.Cells(1), ActiveCell.EntireRow.Cells(2), _
                    ActiveCell.EntireRow.Cells(4), ActiveCell.EntireRow.Cells(5))

    ' Text zusammenfügen
    For Each rCell In rng
        strClipTxt = strClipTxt & rCell.Value & " "
    Next

    ' In die Zwischenablage kopieren
    Set doClipText = New DataObject
    doClipText.SetText (Trim(strClipTxt))
    doClipText.PutInClipboard
End Sub

Stelle sicher, dass Du die Microsoft Forms 2.0 Object Library in Deinen VBA-Verweisen aktiviert hast, um den DataObject verwenden zu können.


Häufige Fehler und Lösungen

  • Benutzerdefinierter Typ nicht definiert: Dieser Fehler tritt auf, wenn der Verweis auf die Microsoft Forms 2.0 Object Library nicht gesetzt ist. Gehe zu Extras > Verweise und aktiviere die entsprechende Bibliothek.

  • Leere Zwischenablage: Wenn die Zwischenablage leer bleibt, überprüfe, ob Du die richtige Auswahl in der aktiven Zeile getroffen hast und ob die Zellen A, B, D und E tatsächlich Text enthalten.


Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Standard-Funktionalität von Excel verwenden:

  1. Markiere die gewünschten Zellen.
  2. Klicke mit der rechten Maustaste und wähle „Kopieren“.
  3. In einem Textverarbeitungsprogramm (z.B. Word) kannst Du dann „Einfügen“ verwenden, aber beachte, dass dies auch Formatierungen mitkopieren kann.

Um nur den Text ohne Formatierungen zu kopieren, kannst Du die PasteSpecial-Funktion in Excel verwenden.


Praktische Beispiele

Hier ist ein weiteres Beispiel, wie Du ein Makro erstellen kannst, das einen bestimmten Bereich kopiert:

Sub KopiereBereichInZwischenablage()
    ' Markiere den zu übernehmenden Bereich
    Range("C5:F5").Select
    ' Kopiere nur die Werte in die Zwischenablage
    Selection.Copy
End Sub

Denke daran, dass die Verwendung von Selection.Copy alle Formate kopiert. Verwende stattdessen die oben gezeigte Methode, um nur den Text in die Zwischenablage zu kopieren.


Tipps für Profis

  • Verwende Trim() in Deinem VBA-Code, um überflüssige Leerzeichen am Ende des Textes zu entfernen.
  • Teste Dein Makro regelmäßig in einer sicheren Umgebung, um zu verhindern, dass Du versehentlich wichtige Daten überschreibst.
  • Du kannst auch verschiedene Trennzeichen verwenden, um die Texte voneinander zu trennen (z.B. Kommas oder Semikolons).

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur der Text ohne Formatierungen kopiert wird?
Verwende den DataObject-Ansatz, um sicherzustellen, dass nur der reine Text in die Zwischenablage kopiert wird.

2. Was kann ich tun, wenn VBA nicht funktioniert?
Überprüfe, ob alle notwendigen Bibliotheken aktiviert sind und ob Dein Code korrekt ist. Teste auch auf einem anderen Arbeitsblatt oder in einer neuen Arbeitsmappe.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige