Access - Para expertos en Excel

   
Vista:
Imágen de perfil de Enrique Ramírez

Para expertos en Excel

Publicado por Enrique Ramírez (617 intervenciones) el 16/06/2009 18:55:36
Necesito exportar información de una tabla de access a una hoja de excel, pero la hoja es como el machote de un oficio, la cual trae los logos y encabezados de la empresa, numero de oficio y nombre y firma de las personas que Elaboro Reviso y Autorizo.
además necesito que los datos caigan a partir de una celda especifica, ejemplo de A14 a K14 y así por cada registro B14..K14, C14..K14 etc.
Alguién me puede ayudar a hacerlo, yo exporto pero a libros nuevos, nunca lo he hecho a un libro ya existente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Para expertos en Excel

Publicado por mi menda (1111 intervenciones) el 17/06/2009 02:22:40
Hola:
Pues de experto en excel nada, pero me has pillado haciendo lo mismo, así que te modifico un copiar pegar:
Debes de activar la referencia de Microsoft Excel.

Dim appExcel As Excel.Application
Dim bks As Excel.Workbook
Dim sht As Excel.Worksheet
Dim strRutaArchivo As String
Dim rst As DAO.Recordset
Dim i As Integer
Dim x As Integer
Dim strHoja As String

On Error GoTo ExportarExcel

strRutaArchivo = “Cetc…”
strHoja = “Nombre de la hoja de excel”

If Nz(Dir(strRutaArchivo), "") = "" Then
MsgBox "No existe el documento en la Ruta especificada" _
, vbInformation, "Validación"
Exit Sub
End If

Set appExcel = GetObject(, "Excel.Application")

appExcel.Workbooks.Open (strRutaArchivo)
Set sht = appExcel.ActiveWorkbook.Sheets(strHoja)
sht.Activate
appExcel.Application.Visible = True

Set rst = CurrentDb.OpenRecordset("Origen de datos")
rst.MoveLast
rst.MoveFirst

‘ Si vamos a empezar en B4
x = 4

For i = 1 To rst.RecordCount
sht.Range("B" & x) = rst!CampoParaElRangoB
sht.Range("C" & x) = rst!CampoParaElRangoC
sht.Range("D" & x) = rst!CampoParaElRangoD
sht.Range("E" & x) = rst!CampoParaElRangoE
sht.Range("ETC.." & x) = rst!CampoParaElRangoETC

x = x + 1
rst.MoveNext
Next

rst.Close
Set rst = Nothing

ExportarExcelSalirt:
Exit Sub
ExportarExcel:
If Err = 429 Then
Set appExcel = CreateObject("Excel.Application")
Resume Next
ElseIf Err.Number = 9 Then
MsgBox "No existe la Hoja " & strHoja, vbInformation, "Validación"
Resume ExportarExcelSalir
ElseIf Err.Number = 3021 Then
MsgBox “No hay ningún registro para Exportar”,,”Validación”
Resume ExportarExcelSalir
Else
MsgBox Err.Description, , "Error Nº: " & Err.Number
Resume ExportarExcelSalir
End If

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique Ramírez

para mi menda

Publicado por Enrique Ramírez (617 intervenciones) el 17/06/2009 17:38:53
On Error GoTo ExportarExcel
strRutaArchivo = "C:Envios2009"
strHoja = "EnvioExpedientes2009.xls"

If Nz(Dir(strRutaArchivo), "") = "" Then
MsgBox "No existe el documento en la Ruta especificada", vbInformation, "Validación"
Exit Sub
End If
Set appExcel = GetObject(, "Excel.Application")
appExcel.Workbooks.Open (strRutaArchivo)

------------------------------------------------------------------------

Estoy adecuando el código y cuando llega a la línea
appExcel.Workbooks.Open (strRutaArchivo)
se va por el error
MsgBox Err.Description, , "Error Nº: " & Err.Number

Y marca el error 1004 No se puede hallar “C:Envios2009”. Compruebe la ortografia del nombre del libro y compruebe que la ubicación del archivo es correcta.

Mi directorio y mi libro de excel están bien escritos, ¿Qué será?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:para mi menda

Publicado por mi menda (1111 intervenciones) el 18/06/2009 19:55:52
Hola:
En la variable strRutaArchivo tienes que poner la ruta completa de donde se encuentra el archivo y su extensión.

strRutaArchivo = "C:/Carpeta/Subcarpeta/ArchivoExcel.xls"

En la variable strHoja tienes que poner el nombre de la Hoja de excel que va ha ser la hoja activa, por defecto al crear un libro nos hace 3 hojas: Hoja1, Hoja2, Hoja3, o el nombre con que las hallas renombrado

strHoja = "Hoja1"

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique Ramírez

RE:para mi menda

Publicado por Enrique Ramírez (617 intervenciones) el 18/06/2009 21:49:07
"MAESTRO" ya me quedo, una vez mas gracias, como me atore lo estaba haciendo con Workbooks.Open FileName y Workbooks.Activate pero ya que me ayudaste de nuevo fue mas rápido.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar