Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

VBA: Una macro para imprimir las hojas impares

En el post de hoy hablaremos de cómo conseguir una matriz dinámica empleando la sentencia ReDim Preserve.

Todo nace por la cuestión planteada por un lector para imprimir las hojas impares de nuestro libro de trabajo.


Lo interesante del código en cuestión es que nos permite ir redimensionando el tamaño de nuestra matriz de trabajo según vamos recorriendo las diferentes hojas del libro (cuando cumplan la condición dada), esto lo conseguimos con la sentencio REDIM; y por otro lado la instrucción PRESERVE permite almacenar o retener los elementos guardados con anterioridad!!.

La macro que veremos a continuación realiza un proceso mediante el cual carga los nombres de las hojsa impares en una matriz-array dinámica, para terminar seleccionando los elementos de dicha array y lanzarlos a la vista preliminar.

Nuestra macro añadida dentro de un módulo estándar de nuestro proyecto de VB:

Sub imprimir_hojas()
Dim hoja As Integer
Dim sel() As String 'definimos nuestra Array

x = 1
For hoja = 1 To Sheets.Count
'condición que limita a las hojas impares
If (hoja Mod 2) 0 Then
'cambiamos la dimensión de la array
'manteniendo los datos cargados
ReDim Preserve sel(1 To x) As String
'añadimos nuevo elemento a la matriz
sel(x) = Sheets(hoja).Name
'y terminamos aumentando el número de elementos...
x = x + 1
End If
Next hoja

'mandamos las hojas impares a vista preliminar
Sheets(sel).PrintPreview
End Sub


Tras ejecutar la macro, el resultado es el esperado....


This post first appeared on EXCEL FORO: EJERCICIOS, EJEMPLOS, SOLUCIONES, DUDA, please read the originial post: here

Share the post

VBA: Una macro para imprimir las hojas impares

×

Subscribe to Excel Foro: Ejercicios, Ejemplos, Soluciones, Duda

Get updates delivered right to your inbox!

Thank you for your subscription

×