Retroceder   Foros del Web > Temas generales de computación > Ofimática

Respuesta
 
Herramientas Desplegado
Antiguo 05-feb-2008, 13:54   #1 (permalink)
MOlgaI ha deshabilitado el karma
 
Avatar de MOlgaI
 
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Alegría Error en tipo de datos (Macro)

Hola a todos,

Espero que esten bien aunque no los conosca , bueno el motivo por el cual esta ves les escribo es para pedirles su ayuda, el siguiente codigo VB debe realizar la acción de cargar toda la información que se encuentra almacenada en otro archvo de excel, solo que me genera un error, y no lo encientro dado que tengo muy poca relación con este código, el error que me genera es el siguiente,

No se ha definido el tipo definido por el usuario

Segun yo al codigo no debe afectarle la información que esta recoja ya que solo va a tomar datos de un archivo y pasarlos a sus celdas.

U otra opción seria que alguien me pueda dar otra solución ya que el archivo del cual quiero copiar la información esta cambiendo constantemente y del cual no puedo guardar ninguna información ya que no es nada estatico. Este es un archivo que esta conectado a un programa PLC y genera datos pero despues decerrar la cesión no me guarda datos.

Espero me puedan ayudar y me haya explicado.

Sub Conectar_Excel_ADO()
'importar datos de un libro Excel sin abrirlo.

'dimensiones
Dim datConnection As ADODB.Connection
Dim recSet As ADODB.Recordset
Dim recCampo As ADODB.Field
Dim strDB, strSQL As Integer
Dim i As Long

'ruta al archivo Excel (la base de datos)
strDB = ThisWorkbook.Path & "\" & _
"MiArchivoExcel.xls"
strDB = "MiArchivoExcel.xls" 'si otra carpeta

'conectar
Set datConnection = New ADODB.Connection
Set recSet = New ADODB.Recordset
datConnection.Open "DRIVER=Microsoft Excel _
Driver (*.xls);" & "DBQ=" & strDB

'consulta SQL
'strSQL = "SELECT * FROM [NuestroRango]"
strSQL = "SELECT * FROM [Hoja1$A1:Q1000]"

'abrimos el recordset
recSet.Open strSQL, datConnection, adOpenStatic

'copiar datos
ActiveSheet.Cells.ClearContents
ActiveSheet.Cells(2, 1).CopyFromRecordset recSet

'copiar rotulos (campos)
i = 1
For Each recCampo In recSet.Fields
ActiveSheet.Cells(1, i) = _
recCampo.Name: i = i + 1
Next recCampo

'desconectar (¡importante!)
recSet.Close
datConnection.Close

'cerrar los objetos
Set recSet = Nothing
Set datConnection = Nothing
End Sub
MOlgaI está desconectado   Responder Citando
Antiguo 06-feb-2008, 11:01   #2 (permalink)
abrahamvj tiene algunos puntos positivos de karma
 
Avatar de abrahamvj
 
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 502
Re: Error en tipo de datos (Macro)

En el editor de VBA, activaste la referencia a ADO?

Abraham
abrahamvj está desconectado   Responder Citando
Antiguo 12-feb-2008, 13:48   #3 (permalink)
MOlgaI ha deshabilitado el karma
 
Avatar de MOlgaI
 
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Re: Error en tipo de datos (Macro)

No la verdad no se como, podrias decirme po favor?
MOlgaI está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:10.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93