Hola a todos, tengo dias haciendo un sistema de control de personal, pero al llegar a este punto no he logrado avanzar, lo hago de manera constante y funciona muy bien, pero si la hago variable ya no... :$

Código:
Dim Tempo As Integer
 Dim Otro As Integer
 Dim Encabezado() As String
 Dim Campo() As String
 Dim Indice As Integer
 Dim Espacio As Integer
 Dim El_Recordset As Recordset 'Variable para el recordset
 Set El_Recordset = New Recordset 'Nuevo objeto Recordset desconectado
 
 Indice = 0
 For Tempo = 0 To xGrid.Cols - 1
  If xGrid.ColWidth(Tempo) > 0 Then Indice = Indice + 1
 Next Tempo
 ReDim Encabezado(0 To Indice - 1)
 ReDim Campo(0 To Indice - 1)
  
 With El_Recordset.Fields 'Crea los campos, de tipo String, con tamaño variable
  Indice = 0
  For Tempo = 0 To xGrid.Cols - 1
   If xGrid.ColWidth(Tempo) > 0 Then
   Espacio = 0
    For Otro = 1 To xGrid.Rows - 1
     If Espacio < Len(xGrid.TextMatrix(Otro, Tempo)) Then Espacio = Len(xGrid.TextMatrix(Otro, Tempo)) + 2
    Next Otro
    Encabezado(Indice) = Trim(Replace(Replace(xGrid.TextMatrix(0, Tempo), ".", ""), " ", ""))
    .Append Encabezado(Indice), adVarChar, Espacio
    Indice = Indice + 1
   End If
  Next Tempo
 End With
 
  El_Recordset.Open  'Abre el recorset para poder agregar datos
 With El_Recordset 'Agrega valores al recordset, es decir a los campos
  For Tempo = 1 To xGrid.Rows - 1
   If xGrid.ColWidth(0) > 0 Then
    Indice = 0
    For Otro = 0 To xGrid.Cols - 1
     Campo(Indice) = Trim(xGrid.TextMatrix(Tempo, Otro))
     Indice = Indice + 1
    Next Otro
    .AddNew Encabezado, Campo ' en esta linea es donde me estoy dando topes... ya revise segun yo todo y nada..
   End If
  Next Tempo
 End With

la funcion es para pasar datos de un msflexgrid a un datareport sin pasar por la base de datos.

me sale el error no. 3265, ya lo busque en google y nada, las soluciones no m dan...

gracias de antemano por la ayuda que me puedan aportar.