Foros del Web » Soporte técnico » Ofimática »

Macro para insertar salto de pagina en excel

Estas en el tema de Macro para insertar salto de pagina en excel en el foro de Ofimática en Foros del Web. Buenas tardes a todos: Querría solicitar vuestra ayuda. Tengo un fichero en excel con bastantes páginas y desearía poder insertar un salto de página cada ...
  #1 (permalink)  
Antiguo 11/07/2008, 10:40
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Macro para insertar salto de pagina en excel

Buenas tardes a todos:

Querría solicitar vuestra ayuda. Tengo un fichero en excel con bastantes páginas y desearía poder insertar un salto de página cada vez que en una celda determinada aparezca un valor. Entiendo que la forma más rápida es a través de una macro pero desconozco como poder hacer esa macro.

Gracias anticipadas y un saludo.

Pedrolu
  #2 (permalink)  
Antiguo 11/07/2008, 10:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Macro para insertar salto de pagina en excel

Puedes hacer un bucle For que recorra las filas, luego cuando encuentre el valor inserte el salto de página con:
Código:
Worksheets("Hoja1").HPageBreaks.Add Cells(Fila_Anterior_al_Salto, 1)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/07/2008, 10:56
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Macro para insertar salto de pagina en excel

Cita:
Iniciado por David el Grande Ver Mensaje
Puedes hacer un bucle For que recorra las filas, luego cuando encuentre el valor inserte el salto de página con:
Código:
Worksheets("Hoja1").HPageBreaks.Add Cells(Fila_Anterior_al_Salto, 1)
¿y cómo le indico el valor para el cual tiene que insertar el salto de página? Lo del bucle me suena más a chino que lo de las macros.
  #4 (permalink)  
Antiguo 11/07/2008, 11:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Macro para insertar salto de pagina en excel

Bueno, explico, sería algo más o menos así:
Código:
Dim Count As Integer
Do While Cells(Count,1) <> "" 'Ejecutamos este código mientras no encontremos una fila vacía
     Count = Count + 1
     If Cells(Count, 1) = "Valor buscado" Then
          Worksheets(1).HPageBreaks.Add Cells(Count, 1) 'Aquí insertamos el salto de página
     End If
Loop
P.S.: En este caso la columna de trabajo es A (1), puedes cambiar por la que desees...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 13/07/2008, 01:11
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Respuesta: Macro para insertar salto de pagina en excel

Cita:
Iniciado por David el Grande Ver Mensaje
Bueno, explico, sería algo más o menos así:
Código:
Dim Count As Integer
Do While Cells(Count,1) <> "" 'Ejecutamos este código mientras no encontremos una fila vacía
     Count = Count + 1
     If Cells(Count, 1) = "Valor buscado" Then
          Worksheets(1).HPageBreaks.Add Cells(Count, 1) 'Aquí insertamos el salto de página
     End If
Loop
P.S.: En este caso la columna de trabajo es A (1), puedes cambiar por la que desees...
Muchas gracias David por tu respuesta. Espero no ser muy pesado pero hay un problema y es que hay filas vacías. Además me da un error 1004 al ejecutar la macro. Al darle a depurar me marca en amarillo Do While Cells(Count, 1) <> "" 'Ejecutamos este código mientras no encontremos una fila vacía
  #6 (permalink)  
Antiguo 14/07/2008, 08:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Macro para insertar salto de pagina en excel

Bueno, modifiqué un poco el código para que recorra hasta el último dato de la columna:
Código:
Dim Looping As Integer
For Looping = 1 To Cells(1, 1).End(xlDown).Row
     If Cells(Looping, 1) = "Salto" Then
          Worksheets(1).HPageBreaks.Add Cells(Looping, 1) 'Aquí insertamos el salto de página
     End If
Next Looping
Aquí lo que hacemos es recorrer todos los datos de la columna y buscamos un valor (en este caso el valor que buscamos es Salto), si encontramos ese valor agregamos un salto de página justo allí.

Espero que te sirva. Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 14/07/2008, 10:05
 
Fecha de Ingreso: julio-2008
Mensajes: 4
Antigüedad: 15 años, 9 meses
Puntos: 0
Sonrisa Respuesta: Macro para insertar salto de pagina en excel

Cita:
Iniciado por David el Grande Ver Mensaje
Bueno, modifiqué un poco el código para que recorra hasta el último dato de la columna:
Código:
Dim Looping As Integer
For Looping = 1 To Cells(1, 1).End(xlDown).Row
     If Cells(Looping, 1) = "Salto" Then
          Worksheets(1).HPageBreaks.Add Cells(Looping, 1) 'Aquí insertamos el salto de página
     End If
Next Looping
Aquí lo que hacemos es recorrer todos los datos de la columna y buscamos un valor (en este caso el valor que buscamos es Salto), si encontramos ese valor agregamos un salto de página justo allí.

Espero que te sirva. Saludos
Muchas gracias por todo David
  #8 (permalink)  
Antiguo 14/07/2008, 10:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Macro para insertar salto de pagina en excel

De nada, me alegro que haya funcionado.

P.S.: No necesitas citar el última mensaje para responder.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:06.