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

Forumthread: Copy Cells und paste nach Notepad

Copy Cells und paste nach Notepad
Michael
Hallo,
in den Zellen A1-C3 steht eine Formel mit dem Ergebnis "a"
wenn ich A1-A3 kopiere und in einen Editor (z.B. Notepad) paste, sieht das Ergebnis so aus:

a
a
a

wenn ich A1-C1 kopiere und in einen Editor (z.B. Notepad) paste, sieht das Ergebnis so aus:

a a a

Wie schaffe ich es, dass auch im zweiten Beispiel, wenn ich also Zellen der gleichen Zeile kopiere, als Trenner zwischen den Zellen ein NewLine bekomme und kein Tab?
Geht das ohne Hilfstabelle und Nacharbeit im Editor (Tab durch NewLine ersetzten)?
Ich habe es schon mit CHAR(10) und CHAR(13) versucht. Hat alles nicht funktioniert.
Ich möchte eine große Range von Excel nach Notepad kopieren und jede Zelle in einer neuen Zeile haben.
Danke für eure Hilfe.
Michael
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Copy Cells und paste nach Notepad
09.02.2012 23:40:58
Tino
Hallo,
kannst mal diesen Code testen.
Benötig den Verweis auf Microsoft Forms 2.0 Object Library,
einfach eine Userform erstellen und wieder löschen.
Den Bereich markieren der kopiert werden soll und den Code laufen lassen.
Texteditor öffnen und einfügen.
Sub Test()
Dim MyData As New DataObject
Dim sText$, sUmbruch As String
'kopiert den markierten Bereich 
Selection.Copy
'Zeichen für Zeilenumbruch 
sUmbruch = vbNewLine
   
'Daten aus Zwischenablage lesen 
MyData.GetFromClipboard
sText = MyData.GetText(1)
'Tab durch umbruch ersetzen 
sText = Replace(sText, vbTab, sUmbruch)

'doppelte umbrüche entfernen, evtl. löschen 
Do While InStr(sText, sUmbruch & sUmbruch) > 0
    sText = Replace(sText, sUmbruch & sUmbruch, sUmbruch)
Loop

'neue Daten in die Zwischenablage schreiben 
MyData.Clear
MyData.SetText sText, 1
MyData.PutInClipboard
End Sub
Gruß Tino
Anzeige
AW: Copy Cells und paste nach Notepad
10.02.2012 15:59:43
Michael
Hallo Tino,
danke für die Hilfe.
Im prinzip funktioniert das. Ich bekomme jedoch häufig die folgende Fehlermeldung:
Laufzeitfehler '-2147221040 (800401d0)':
DataObject:PutIn Clipboard OpenClipboard fehlgeschlagen
Z.B. wenn ich mehrmals hintereinander eine Range markiere und jedesmal das Macro laufen lasse.
Hast Du da noch eine Idee?
Am liebsten wäre mir natürlich eine Lösung ganz ohne Macros z.B. durch Steuerzeichen am Ende meiner Formeln in den Zellen, aber das geht wohl nicht. In dem Fall ist die Macro-Lösung super, sie muß nur zuverlässig funktionieren.
Danke,
Michael
Anzeige
AW: Copy Cells und paste nach Notepad
10.02.2012 23:21:51
Tino
Hallo,
kann ich bei mir unter xl2003 Win XP und xl2007 Win7 nicht feststellen.
Daten werden beim öffnen der Datei erstellt und das Selektieren habe ich in den Code mit eingebaut.
Hier meine Testmappe.
https://www.herber.de/bbs/user/78852.xls
Gruß Tino
Anzeige
Copy Cells und paste nach Notepad
10.02.2012 19:09:08
Anton
Hallo Michael,
probier sowas:
Code:

Sub b()
  Set fso = CreateObject("Scripting.FileSystemObject")  
  Set f = fso.OpenTextFile("c:\test.txt", 2, True)  
  For Each zelle In Tabelle1.UsedRange    
    f.WriteLine zelle.Value
  Next
  f.Close
  Shell "notepad c:\test.txt", vbMaximizedFocus
End Sub  


mfg Anton
Anzeige
Test oT
13.02.2012 22:19:45
Anton
AW: Test oT
14.02.2012 11:10:21
Michael
danke für eure guten Vorschläge. Ich habe eingesehen, dass es ohne Macro, also nur mit Steuerzeichen in den einzelnen Zellen nicht geht.
Habe jetzt 2 Buttons über meine Tabelle gesetzt "Copy to Clipboard" (Vorschlag von Tino) und "Copy to Notepad" (Vorschlag von Anton). Funktioniert beides super.
Gruß,
Michael
Anzeige
;

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

Excel-Daten nach Notepad kopieren und formatieren


Schritt-für-Schritt-Anleitung

Um Daten aus Excel effizient nach Notepad zu kopieren und dabei einen Zeilenumbruch zwischen den Zellen zu erhalten, kannst Du die folgende VBA-Makro-Lösung verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Erstelle ein neues Modul durch Einfügen > Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub CopyToNotepad()
       Dim MyData As New MSForms.DataObject
       Dim sText As String, sUmbruch As String
       Selection.Copy
       sUmbruch = vbNewLine
       MyData.GetFromClipboard
       sText = MyData.GetText(1)
       sText = Replace(sText, vbTab, sUmbruch)
       MyData.Clear
       MyData.SetText sText, 1
       MyData.PutInClipboard
       Shell "notepad.exe", vbNormalFocus
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Markiere den Bereich, den Du kopieren möchtest, und führe das Makro aus.

Durch dieses Makro wird der Bereich in Notepad eingefügt, wobei jede Zelle in einer neuen Zeile dargestellt wird.


Häufige Fehler und Lösungen

  • Laufzeitfehler '-2147221040 (800401d0)':
    Dieser Fehler kann auftreten, wenn das Clipboard nicht geöffnet werden kann. Stelle sicher, dass Du nicht mehrmals hintereinander versuchst, das Makro auszuführen, ohne eine Pause einzulegen. Warte einige Sekunden zwischen den Ausführungen.

  • Tabulatoren werden statt Zeilenumbrüche angezeigt:
    Wenn beim Einfügen in Notepad immer noch Tabulatoren angezeigt werden, überprüfe, ob der Code korrekt ist und dass Du den richtigen Bereich in Excel markiert hast.


Alternative Methoden

Falls Du keine Makros verwenden möchtest, gibt es auch manuelle Methoden:

  • Copy and Paste mit Texteditor:
    Kopiere die Zellen in Excel und füge sie in Notepad ein. Anschließend kannst Du die Tabulatoren manuell durch Zeilenumbrüche ersetzen, was jedoch umständlich ist.

  • Verwendung von Notepad++:
    In Notepad++ kannst Du die Funktion “Doppelte Zeilen löschen” nutzen, um doppelte Einträge zu filtern, nachdem Du die Daten eingefügt hast. Dies kann hilfreich sein, wenn Du nur einzigartige Werte benötigst.


Praktische Beispiele

  1. Zellen A1 bis C3 kopieren:
    Wenn Du Zellen kopierst, die Formeln enthalten, und diese in Notepad einfügst, kannst Du das Makro verwenden, um automatisch jeden Wert in eine neue Zeile zu setzen.

  2. Doppelte Einträge mit Notepad:
    Wenn Du nach dem Einfügen in Notepad doppelte Einträge finden möchtest, kannst Du die Funktion in Notepad++ verwenden, um diese Einträge zu markieren und zu löschen.


Tipps für Profis

  • Nutze Shortcuts:
    Lerne die Shortcuts für Excel und Notepad, um Deinen Workflow zu beschleunigen.

  • Makros optimieren:
    Passe das Makro an Deine spezifischen Anforderungen an, indem Du weitere Funktionen hinzufügst, wie z.B. das Entfernen von Leerzeilen oder das Formatieren von Daten.

  • Exportiere direkt in eine Textdatei:
    Anstatt in Notepad zu kopieren, kannst Du auch direkt in eine Textdatei exportieren, indem Du den FileSystemObject verwendest, wie im Beispiel von Anton.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass alle Zellen korrekt kopiert werden?
Vergewissere Dich, dass Du den gesamten Bereich markierst und das Makro korrekt ausführst. Überprüfe auch, ob die Formeln in den Zellen die gewünschten Werte anzeigen.

2. Gibt es eine Möglichkeit, Notepad++ in diesen Prozess einzubeziehen?
Ja, Du kannst die gleichen VBA-Methoden verwenden, um Daten in Notepad++ zu kopieren und die erweiterten Funktionen von Notepad++ zu nutzen, wie das Löschen doppelter Zeilen oder das Markieren spezifischer Spalten.

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