Error con conexion de una bd en excel AYUDDDDD

05/11/2009 - 13:16 por Sara | Informe spam
Hola Estoy Utilizando el siguiente codigo en vba para conectarme a una base
de datos en excel, pero me saca un error qdonde me dice que el nombre de la
hoja no es valido...que puedo hacer??

Public Sub Importar_Excel( _
Libro As String, _
hoja As String, _
Optional rango As String = "")

Dim conexion As ADODB.Connection, rs As ADODB.Recordset

Set conexion = New ADODB.Connection

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Libro & _
";Extended Properties=""Excel 8.0;HDR=Yes;"""


' Nuevo recordset
Set rs = New ADODB.Recordset

With rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With

If rango <> ":" Then
hoja = hoja & "$" & rango
End If

rs.Open "SELECT * FROM [" & hoja & "]", conexion, , , adCmdText

Sara Maria Velez Rave

Preguntas similare

Leer las respuestas

#1 Emilio
05/11/2009 - 14:55 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Hola!
no veo que pases ningún valor a hoja ni a rango, puede ser que ese sea el
problema.

Saludos a
Emilio [MS-MVP Access 2006/9]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"Sara" escribió en el mensaje
news:
Hola Estoy Utilizando el siguiente codigo en vba para conectarme a una
base
de datos en excel, pero me saca un error qdonde me dice que el nombre de
la
hoja no es valido...que puedo hacer??

Public Sub Importar_Excel( _
Libro As String, _
hoja As String, _
Optional rango As String = "")

Dim conexion As ADODB.Connection, rs As ADODB.Recordset

Set conexion = New ADODB.Connection

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Libro & _
";Extended Properties=""Excel 8.0;HDR=Yes;"""


' Nuevo recordset
Set rs = New ADODB.Recordset

With rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With

If rango <> ":" Then
hoja = hoja & "$" & rango
End If

rs.Open "SELECT * FROM [" & hoja & "]", conexion, , , adCmdText

Sara Maria Velez Rave
Respuesta Responder a este mensaje
#2 Héctor Miguel
06/11/2009 - 05:40 | Informe spam
hola, Sara !

Estoy Utilizando el siguiente codigo en vba para conectarme a una base de datos en excel
pero me saca un error qdonde me dice que el nombre de la hoja no es valido...que puedo hacer??



supongo que el error sucede no por el procedimiento en si mismo, si no por los parametros que le pasas al llamarlo (?)
por que no expones la linea donde lo llamas y como le pasas los argumentos: LIbro, hoja y rango (de preferencia, +/- exactamente) ?

tambien comenta si lo estas utilizando excel-excel u <otra aplicacion>-excel (?)
y si el "Libro" al que conectas esta cerrado (?)

saludos,
hector.

__ [fraccion d]el codigo expuesto __
Public Sub Importar_Excel( _
Libro As String, _
hoja As String, _
Optional rango As String = "")
Dim conexion As ADODB.Connection, rs As ADODB.Recordset
Set conexion = New ADODB.Connection
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Libro & _
";Extended Properties=""Excel 8.0;HDR=Yes;"""
' Nuevo recordset
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With
If rango <> ":" Then
hoja = hoja & "$" & rango
End If
rs.Open "SELECT * FROM [" & hoja & "]", conexion, , , adCmdText

Sara Maria Velez Rave
Respuesta Responder a este mensaje
#3 Héctor Miguel
10/11/2009 - 04:56 | Informe spam
hola, Sara !

Estoy Utilizando el siguiente codigo en vba para conectarme a una base de datos en excel
pero me saca un error qdonde me dice que el nombre de la hoja no es valido...que puedo hacer??



supongo que el error sucede no por el procedimiento en si mismo, si no por
los parametros que le pasas al llamarlo (?)
por que no expones la linea donde lo llamas y como le pasas los argumentos:
LIbro, hoja y rango (de preferencia, +/- exactamente) ?

tambien comenta si lo estas utilizando excel-excel u <otra aplicacion>-excel
(?)
y si el "Libro" al que conectas esta cerrado (?)

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida