Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Copy Cells und paste nach Notepad | Herbers Excel-Forum


Betrifft: Copy Cells und paste nach Notepad von: Michael
Geschrieben am: 09.02.2012 17:35:23

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

  

Betrifft: AW: Copy Cells und paste nach Notepad von: Tino
Geschrieben am: 09.02.2012 23:40:58

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


  

Betrifft: AW: Copy Cells und paste nach Notepad von: Michael
Geschrieben am: 10.02.2012 15:59:43

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


  

Betrifft: AW: Copy Cells und paste nach Notepad von: Tino
Geschrieben am: 10.02.2012 23:21:51

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


  

Betrifft: Copy Cells und paste nach Notepad von: Anton
Geschrieben am: 10.02.2012 19:09:08

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


  

Betrifft: Test oT von: Anton
Geschrieben am: 13.02.2012 22:19:45




  

Betrifft: AW: Test oT von: Michael
Geschrieben am: 14.02.2012 11:10:21

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


Beiträge aus den Excel-Beispielen zum Thema "Copy Cells und paste nach Notepad"