RE:copiar datos al portapapeles
muy bien, pongo el ejemplo, espero les sirva
Activo un Menu PopUp en el datagrid, validando que esté en una columna y renglón válidos. MnDataGrid es un menú (ver Editor de Menus), al iniciar el módulo éste menú tiene su propiedad Visible = False
Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then ' Comprueba si es el botón secundario.
If DataGrid1.Row >= 0 Then
If DataGrid1.Columns(0).Text <> "" Then
PopupMenu MnDataGrid
End If
End If
End If
End Sub
Private Sub MnDataGrid_Click()
Clipboard.Clear
PortaPap=""
DataGrid1.Visible = False
NoRevMov = True
For i = 1 To RsDatos.RecordCount - 1
RsDatos.AbsolutePosition = i
' ColumnaSelB es la columna del datagrid que vas a copiar al portapapeles
Select Case ColumnaSelB
Case 0: PortaPap = PortaPap & RsDatos("Campo1") & VBA.Chr(10)
Case 1: PortaPap = PortaPap & RsDatos("Campo2") & VBA.Chr(10)
Case 2: PortaPap = PortaPap & RsDatosl("Campo3") & VBA.Chr(10)
' depende de cuantos campos muestra el datagrid
' obvio, depende de la consulta al RecordSet
End Select
Next i
NoRevMov = False
DataGrid1.Visible = True
Clipboard.SetText PortaPap
End Sub
Este ejemplo solo te copia al portapapeles toda una columna del datagrid, la puedes pegar en un archivo de Word, Excel o no se cual otro más.
Para que tu aplicación abra el Excel y la pegue en determinada columna ya sería otro proceso, para eso tienes que declarar una variable tipo excel.Application abrir el excel y ejecutar una serie de macros para copiar lo que quieras en donde quieras en excel
espero esta informacion te sea util, saludos