Wow, ich wollte diese Frage selbst stellen, aber sie wurde schon gestellt. Alle Excel-Zwischenablage-Ausgaben sind tabstandardmäßig begrenzt. Dies ist etwas ärgerlich für die Ausgabe von "echtem" Klartext, wenn Sie eine Schriftart mit fester Breite haben, aber nicht unbedingt eine Unterstützung für Tabulatorzeichen.
Jedenfalls habe ich ein kleines Excel-Makro gefunden und geändert, das den aktuell ausgewählten Bereich als einfache ASCII-Tabelle mit Spalten mit fester Breite kopiert.
187712 201 37 0,18 2525 580 149 0,25 136829 137 43 0,31
Hier ist der Makrocode. Stellen Sie sicher, dass Sie die Registerkarte "Entwickler" in den Excel-Optionen aktivieren, wenn Sie Excel 2007 oder höher verwenden.
Sub CopySelectionToClipboardAsText() ' requires a reference to "Windows Forms 2.0 Object Library" ' add it via Tools / References; if it does not appear in the list ' manually add it as the path C:\Windows\System32\FM20.dll Dim r As Long, c As Long Dim selectedrows As Integer, selectedcols As Integer Dim arr arr = ActiveSheet.UsedRange selectedrows = UBound(arr, 1) selectedcols = UBound(arr, 2) Dim temp As Integer Dim cellsize As Integer cellsize = 0 For c = 1 To selectedcols temp = Len(CStr(Cells(1, c))) If temp > cellsize Then cellsize = temp End If Next c cellsize = cellsize + 1 Dim line As String Dim output As String For r = 1 To selectedrows line = Space(selectedcols * cellsize) For c = 1 To selectedcols Mid(line, c * cellsize - cellsize + 1, cellsize) = Cells(r, c) Next c output = output + line + Chr(13) + Chr(10) Next r Dim MyData As MSForms.DataObject Set MyData = New DataObject MyData.SetText output MyData.PutInClipboard MsgBox "The current selection was formatted and copied to the clipboard" End Sub