1. AyudaExcel utiliza cookies. Si continuas utilizando AyudaExcel, estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

[SOLUCIONADO]macro para area de impresion y eliminacion de celdas vacias

Tema publicado en 'Macros y programación VBA' iniciado por omarcerelli, 18 Jun 2009.

Estado del tema:
Cerrado para nuevas respuestas
  1. omarcerelli

    omarcerelli Nuevo Usuario

    Registrado:
    16 Jun 2009
    Mensajes:
    11
    Me Gusta recibidos:
    0
    quisiera saber si se puede realizar un macro q me permita determimar un area de impresion en relacion a las celdas cargadas con datos y que me elimine las celdas q quedan fuera de esta area sin datos ingresados?
  2. Roberto Salas

    Roberto Salas Usuario

    Registrado:
    3 Sep 2008
    Mensajes:
    103
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    Favor subir un ejemplo de cualquier archivo excel, para poderte ayudar.



    saludos
  3. omarcerelli

    omarcerelli Nuevo Usuario

    Registrado:
    16 Jun 2009
    Mensajes:
    11
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    el ancho de impresion es constante siempre A1 a S1... lo q cambia y es varia en funcion de datos es el numero de filas... en este caso seria de A1:S38... el area de impresion.. lo q quisiera saber es si se puede crear un macro donde tome como ultima celda de la columna S, la ultima celda de la columna A cargada c datos...
    espero haber sido claro... desde ya muchas gracias

    Adjuntos:

    • Libro1.zip
      Tamaño de archivo:
      12,5 KB
      Visitas:
      127
  4. Roberto Salas

    Roberto Salas Usuario

    Registrado:
    3 Sep 2008
    Mensajes:
    103
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    Estimado Omar

    te adjunto el archivo, con una macro que lo que hace es definir el area de impresión de acuerdo a los datos que se hayan ingresado. tomar en cuenta que la macro busca el ultimo valor en la columna "F" (Cota). Para ejecutar la macro simplemente al abrir el archivo deben estar habilitadas las macros, luego presionar la flecha azul.

    Espero haber entendido bien to solicitud

    Saludos cordiales

    Adjuntos:

  5. omarcerelli

    omarcerelli Nuevo Usuario

    Registrado:
    16 Jun 2009
    Mensajes:
    11
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    roberto te agradezco mucho tu colaboracion.. me fue de gran utilidad, solamente tuve q quitar la parte donde me eliminaba las demas celdas sin datos cargados... por en otra parte de la hoja hay datos vinculados a la planilla q hacen q esta funcione de forma mas compleja... en mi archivo adjunto solo subi la parte a imprimir nomas x una cuestion de tamaño del archivo..
    proximamente te consultare por algo similar donde si o si tengo q eliminar celdas antes de imprimir... pero es otra planilla q todavia no la he terminado.

    muchas gracias...
    un abrazo ... omar
  6. omarcerelli

    omarcerelli Nuevo Usuario

    Registrado:
    16 Jun 2009
    Mensajes:
    11
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    estimado roberto quiziera saber como seria posible q esta macro tome el ultimo valor q aparece en la columna (prog.) en vez de la f (cota)... muchas gracias
  7. Roberto Salas

    Roberto Salas Usuario

    Registrado:
    3 Sep 2008
    Mensajes:
    103
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    Estimado Omar

    en vez de esto:
    'BUSCAMOS ULTIMA FILA CON DATOS
    For I = 8 To 65000
    MM = Sheets(1).Cells(I, 6)
    If Sheets(1).Cells(I, 6) = "" Then
    J = I
    I = 65000 + 1
    End If
    Next

    debes poner:
    'BUSCAMOS ULTIMA FILA CON DATOS
    For I = 8 To 65000
    MM = Sheets(1).Cells(I, 15)
    If Sheets(1).Cells(I, 15) = "" Then
    J = I
    I = 65000 + 1
    End If
    Next

    ya que la columna 15 (O), es la del encabezado "Prog."

    Saludos
  8. ioyama

    ioyama Moderador Staff AyudaExcel

    Registrado:
    24 Jun 2008
    Mensajes:
    4.596
    Me Gusta recibidos:
    355
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    Hola Omar

    Pregunta:
    ¿Porqué no utilizas algo como

    uf = Range("O65536").End(xlUp).Row

    o más general

    uf = Range("O" & Cells.Rows.Count).End(xlUp).Row
    o
    uf = Cells(Rows.Count, 15).End(xlUp).Row


    Te evitarías el bucle y la perdida de tiempo que puede conllevar si tienes muchas filas.

    Simplemente como idea.

    Un saludo desde Vitoria
  9. omarcerelli

    omarcerelli Nuevo Usuario

    Registrado:
    16 Jun 2009
    Mensajes:
    11
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    muchas gracias x tu respuesta.. si yo utilizo esto... uf = Cells(Rows.Count, 15).End(xlUp).Row
    pero le cambio el 15 por el 1 me buscalos valores de la primera columna.. pero como hago q esta busqueda me determine la cantidad de filas de mi area de impresion q va desde la columna A hasta la S?
  10. omarcerelli

    omarcerelli Nuevo Usuario

    Registrado:
    16 Jun 2009
    Mensajes:
    11
    Me Gusta recibidos:
    0
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    roberto funciona muy bien de las 2 maneras muchas gracias... solamente estoy tratando de afinar un poquito mejor la funcion... paso a contarte.. soy topografo y esta planilla me da las cotas para nivelar estacas.. pero las posiciones de estas varia.. y por eso hay 6 columnas donde puedo a llegar a tener valores a veces.. osea a veces hay valores en la "F" o la "O" y otras no.. pero siempre hay en la "A" y por eso quiciera referir mi busqueda a esta... intente con esto pero no funciona.. q esta mal?

    'BUSCAMOS ULTIMA FILA CON DATOS
    For I = 8 To 65000
    MM = Sheets(1).Cells(I, 1)
    If Sheets(1).Cells(I, 1) = "" Then
    J = I
    I = 65000 + 1
    End If
    Next

    'DEFINIMOS AREA DE IMPRESION
    WM = Trim(j )
    Range("A1:S" & WM).Select
    ActiveSheet.PageSetup.PrintArea = "$A$1:$S$" & WM
    UserForm2.Show
    End Sub
  11. ioyama

    ioyama Moderador Staff AyudaExcel

    Registrado:
    24 Jun 2008
    Mensajes:
    4.596
    Me Gusta recibidos:
    355
    Respuesta: macro para area de impresion y eliminacion de celdas vacias

    Hola Omar

    Tienes razón , la opción es para cuando sabes cuál es la columna con más datos.

    No obstante prueba con
    CÓDIGO:
    Sub test()
        Range("A1").Select
        pos = Application.WorksheetFunction.Find(":", Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Address)
        uf = Range(Mid(Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Address, pos + 1)).Row
    End Sub
    Un saludo desde Vitoria
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página