Sie können Ihre eigene Kopierroutine erstellen, die nicht die ganze Zelle speichern, sondern nur in der Zwischenablage seinen Wert:
Sub OwnCopy()
Dim DataObj As New MSForms.DataObject
DataObj.SetText ActiveCell.Value 'depending what you want, you could also use .Formula here
DataObj.PutInClipboard
End Sub
Um in der Lage sein, um das Makro zu kompilieren, müssen Sie „Microsoft Forms enthalten 2.0 Object Library“als Referenz (in Visual Basic-Editor, zur Tools-> References) ..
Sie können nun entweder das Makro auf eine andere Verknüpfung zuweisen (zB Ctrl - Shift- - C) Verwenden Sie den Standard-Run-Makro-Dialog - oder überschreiben Sie Ctrl - c durch Ausführen von Application.OnKey "^c", "OwnCopy"
. Ich würde jedoch nicht empfehlen, Ctrl - c zu überschreiben, da Sie höchstwahrscheinlich alle anderen Informationen verwenden möchten, die normalerweise in einem anderen Fall als das Einfügen in einen Editor kopiert werden.
Um dies dauerhaft zu machen, speichern Sie das Makro einfach in Ihrem persönlichen Arbeitsbuch.
Falls Sie eine anspruchsvollere Kopierroutine, die auch mehrere Zellen/Auswahlbereiche, verwenden Sie diesen Code verarbeiten kann:
Sub OwnCopy2()
Dim DataObj As New MSForms.DataObject
Dim lngRow As Long
Dim intCol As Integer
Dim c As Range
Dim strClip As String
Const cStrNextCol As String = vbTab
Const cStrNextRow As String = vbCrLf
With Selection
If Not TypeOf Selection Is Range Then
On Error Resume Next
.Copy
Exit Sub
End If
If .Areas.Count = 1 Then
For lngRow = 1 To .Rows.Count
For intCol = 1 To .Columns.Count
strClip = strClip & _
Selection(lngRow, intCol).Value & cStrNextCol
Next intCol
strClip = Left(strClip, Len(strClip) - Len(cStrNextCol)) _
& cStrNextRow
Next lngRow
Else
For Each c In .Cells
strClip = strClip & c.Value & vbCrLf
Next c
End If
strClip = Left(strClip, Len(strClip) - Len(cStrNextRow))
DataObj.SetText strClip
DataObj.PutInClipboard
End With
End Sub
Das ist nicht wirklich ein Problem für Programmierer - wenn Sie es helfen können, verwenden Sie nie die Zwischenablage, um Daten zu übertragen ... –
Gleiche Frage auf SuperUser: [Kopieren von Excel ohne Zeilenumbruch] (http://superuser.com/q/543615/54568) –