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