Saltar al contenido

Seleccionar hoja por nombre que es un numero variable

publicado

Hola

Tengo una macro que selecciona unas ciertas hojas de todo el libro y me las convierte en un pdf, siempre hasta ahora han sido las mismas. Mi intención es que una de las hojas de la selección sea variable, es decir, que en función del dato (dígase año) ubicado en una celda de la hoja de referencia (Hoja Portada Celda C1), seleccione la hoja de ese año, es decir, que si en C1 dice 2018, la hoja a seleccionar e incorporar en el pdf sea la 2018 y si dice 2017 incorpore la 2017 y etc..

Esta es un trozo de la rutina que tengo y el problema lo tengo en cómo le dijo que me seleccione e incorpore la hoja con el mismo valor de la hoja Portada Celda C1 (zona en negrita)

    Sheets(Array("Portada (D)", Range("c1").Value, "Resumen (G)", _
        "Graf.Men (G)", "Graf.Tri (G)", "Graf.Sem (G)", "Graf.Anu (G)", "Graf.Cli (G)", _
        "Graf.Cli (%) (G)").Select

Gracias anticipadas por ayudar a este aficionado/novato en macros de excel..

Xavi

Featured Replies

publicado

@xavima , no entiendo tu problema, porque ahí no aparece ninguna hoja con un año :huh:. No sé, sube tu archivo para comprobar cómo está estructurado

publicado
  • Autor

Sorry, me he dejado de adjunta el archivo, que ahora si adjunto. He reducido las hojas y modificado mi macro anterior para poderlo subir mejor.

Mi objetivo: en función del valor que hubiese en la celda C1 de la hoja Portada me adjunte en el pdf, ademas de la hoja portada y resumen, la hoja con el mismo numero, que en definitiva no deja de ser el año de trabajo.

Evo.xlsm

publicado

Prueba así:

Sheets(Array("Portada", "Resumen", CStr(Range("C1").Value))).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "D:\Facturacion" & Range("c1").Value & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False

Coementas

Abraham Valencia

PD: El Cstr es porque la celda tiene un número y el nombre de la hoja es un texto numérico

publicado
  En 21/2/2019 at 15:48 , xavima dijo:

Sorry, me he dejado de adjunta el archivo

otra forma (bueno, igual que la de @avalencia, pero dimensionando variables)
 

Sub imprimir_PDF()
Dim año As String

año = [c1]

Sheets(Array("Portada", "Resumen", año)).Select

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Facturacion\" & año & ".pdf"
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.