Hola, me atrapo el tema asi que me puse a investigar el formato del portapapeles de excel, uno de sus 30 y picos formatos es xml asi que usando apis se puede implementar ese xml y texto plano para poder pegarlo tanto en un notepado como en una planilla de exel.
En mi pc con mi versión de Excel funciono seria bueno que lo testes.
Option Explicit
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal Hwnd As Long) As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function RegisterClipboardFormat Lib "user32" Alias "RegisterClipboardFormatA" (ByVal lpString As String) As Long
Private Const CF_TEXT As Long = 1
Private m_cfHTMLClipFormat As Long
Public Sub PutXMLClipboard(ByVal sText As String)
Dim sXML As String
Dim ArrData() As Byte
If (m_cfHTMLClipFormat = 0) Then m_cfHTMLClipFormat = RegisterClipboardFormat("XML Spreadsheet")
sXML = "<?xml version='1.0'?>" & vbCrLf & _
"<Workbook xmlns='urn:schemas-microsoft-com:office:spreadsheet'>" & vbCrLf & _
"<Worksheet ss:Name='VB6'>" & vbCrLf & _
" <Table>" & vbCrLf & _
" <Row>" & vbCrLf & _
" <Cell><Data ss:Type='String'>" & sText & "</Data></Cell>" & vbCrLf & _
" </Row>" & vbCrLf & _
" </Table>" & vbCrLf & _
" </Worksheet>" & vbCrLf & _
"</Workbook>" & vbCrLf
If CBool(OpenClipboard(0)) Then
Call EmptyClipboard
ArrData = StrConv(sXML, vbFromUnicode)
SetClipboardData m_cfHTMLClipFormat, VarPtr(ArrData(0))
ArrData = StrConv(sText & Chr$(0), vbFromUnicode)
SetClipboardData CF_TEXT, VarPtr(ArrData(0))
Call CloseClipboard
End If
End Sub
Private Sub Command1_Click()
PutXMLClipboard "00111"
End Sub
Despues contame si te funciono.