Pasar algunos campos de una tabla a excel

Te hago una pregunta sobre el tema, se me paso por alto algo importante que es que
lo que tengo que exporta al archivo excel son varios renglones osea, que todos los items
exportados se tiene que multiplicar por 5 ( osea 5 fechas, 5 tareas etc), se puede hacer algo
con estos

Gracias PARA:Sveinbjorn El Rojo

1 respuesta

Respuesta
1

Disculpa, pero no había visto esta pregunta.

Además, no entiendo lo que pretendes hacer: ¿A qué te refieres con que tienes que exportar varios renglones? ¿Podrías explicarte un poco más, y/o poner una imagen de tu formulario con lo que quieres exportar a excel?

Te envío por mail las imágenes que me solicitas así se explica mejor

Con ese botón que me armaste exportar estos campos, ( yo les cambie los nombres), y este es el código .

Que pasa ahora, que yo me olvide cuando te pedí esto, es que son cuatros / cinco las empresas que tengo que pasar a distintos renglones del archivo excel.

Ósea si miras el código es eso multiplicado por cuatro I35 es para una empresa, pero tengo cuatro registros más en lo que respecta a la I35 (empresa, tarea)

En lo que respecta a la fecha es única, así que no hay problema .porque es diariamente que pasan los eventos.

Pero si cambia para la tarea y empresa

¿Y en el excel donde los quieres exportar? ¿Todos en I35? ¿O dónde/cómo?

no es en I34, I35, I36 , I37,I38 en todos como esta el codigo en I35

Sustituye las dos líneas que siguen a: 'Exportas el material, por estas:

For i = 34 To 38
xls.ActiveSheet.Cells(i, 9).Select  'En Cells va primero la fila y luego la columna (columna I=9)
If Nz(xls.ActiveCell.Value, "") = "" Then
xls.ActiveCell.Value = Me.Producto & " " & Me.Material
Exit For
End If
Next i

A ver si esto te sirve.

¡Gracias! ok funsiona, hay un solo defecto , (pero es demasiado exigente) hay que apretar 4 veces o 5 para completar una a una las celdas de excel. 

Porque te cuento yo al formulario lo hago tomar de una consulta que le pongo la fecha y en el caso del ejemplo hay 4 registros. 

Entonces tengo que apretar un registro a la vez para que pase.

¡¿¿¿ es posible apretar una sola vez?????

gracias 

Si se puede, pero si no explicas exactamente lo que quieres hacer, yo no soy adivino... je je

Este es el código completo que has de usar:

'Declaras las variables
Dim fExcel As String 'En fExcel recogeremos la ruta, nombre y extensión
Dim xls As Excel.Application
Dim rst As DAO.Recordset
Dim i As Integer

'Si tienes el Excel en el mismo directorio de la BD puedes definir la ruta así:
fExcel = Application.CurrentProject.Path & "\ExcelDatos.xls"

Set xls = CreateObject("Excel.Application")
'Coges los datos el origen del formulario
Set rst = Me.RecordsetClone

rst.MoveFirst

xls.Workbooks.Open fExcel
xls.Worksheets("Hoja1").Activate
'Exportas la fecha, con formato fecha
xls.ActiveSheet.Range("C5").Select
xls.ActiveCell.Value = CDate(Me.Fecha)
'Exportas el material
i = 34 'Estableces la fila inicial
Do Until rst.EOF
xls.ActiveSheet.Cells(i, 9).Select '9 es la columna H
xls.ActiveCell.Value = rst("Producto") & " " & rst("Material")
i = i + 1 'bajas de fila
rst.MoveNext
Loop

'Guardas y cierras el excel
rst.Close
xls.ActiveWorkbook.Save
xls.Application.Quit
Set xls = Nothing
Set rst = Nothing

'Lanzas un mensaje de confirmación
MsgBox "Exportación realizada correctamente", vbInformation, "CORRECTO"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas