Marcar Hojas como activas desde un macro

24/09/2007 - 22:58 por colmenaf | Informe spam
Hola a todos.
Tengo una macro que lee unas hojas de pedidos, y quiero desde la macro
ir colocando como activa aquellas hojas de pedidos con datos. De
manera que cuando el macro termine de ejecutarse deje marcada las
hojas que realmente tienen datos como activas, para posteriormente
enviarlas a imprimir.
Gracias por la ayuda.
Saludos.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
24/09/2007 - 23:47 | Informe spam
hola, (...) ?

Tengo una macro que lee unas hojas de pedidos
y quiero desde la macro ir colocando como activa aquellas hojas de pedidos con datos.
Demanera que cuando el macro termine de ejecutarse deje marcada las hojas que realmente tienen datos como activas
para posteriormente enviarlas a imprimir.



hay algunos detalles que no comentas y no se alcanzaro a *ver* [desde este lado del mensaje] como...

1) como se le debe indicar a la macro cuales hojas ha de *leer* y cuales no ?
2) como debera identificar la macros si [x_hoja] *realmente tiene datos* ?
3) algun otro dato que se estuviera quedando *en el tintero* ?

saludos,
hector.
Respuesta Responder a este mensaje
#2 colmenaf
25/09/2007 - 14:40 | Informe spam
On 24 sep, 17:47, "Héctor Miguel"
wrote:
hola, (...) ?

> Tengo unamacroque lee unashojasde pedidos
> y quiero desde lamacroir colocando como activa aquellashojasde pedidos con datos.
> Demanera que cuando elmacrotermine de ejecutarse deje marcada lashojasque realmente tienen datos comoactivas
> para posteriormente enviarlas a imprimir.

hay algunos detalles que no comentas y no se alcanzaro a *ver* [desde este lado del mensaje] como...

1) como se le debe indicar a lamacrocualeshojasha de *leer* y cuales no ?
2) como debera identificar la macros si [x_hoja] *realmente tiene datos* ?
3) algun otro dato que se estuviera quedando *en el tintero* ?

saludos,
hector.



Hola Héctor.
El libro tiene 6 hojas de pedido, el macro recorre cada hoja y cuenta
las familias de productos que tiene cada hoja. De manera que por cada
hoja tengo un contador de familias por ejemplo si FamiliaHoja1 > 0
then quiero que esa hoja1 se marque como activa. Si FamiliaHoja2 < 0
entonces no la marca activa, si FamiliaHoja6 > 0 entonces la marca
activa.
Al final ya quedarían las hojas con pedidos activas y el usuario
enviaría a imprimir esas hojas activas.
Me explico ¿?.
Mil gracias,
Saludos,
Flor.
Respuesta Responder a este mensaje
#3 Héctor Miguel
26/09/2007 - 00:50 | Informe spam
hola, Flor !

me refiero a que expongas datos mas *visibles* [en terminos de los usuarios de excel] p.e.
-> los nombres de las hojas
los rangos donde se busca [y que se busca o como se cuenta]
alguna *razon* de porque esta si y esta no

El libro tiene 6 hojas de pedido


=> *como* se llaman esas hojas ?

el macro recorre cada hoja


=> *como* es que el macro *las recorre* ?
*descarta* algunas hojas y otras las incluye en el recorrido ?
existe algun *patron* en los nombres de las hojas ?

y cuenta las familias de productos que tiene cada hoja


=> *como* sabe el codigo *donde* tiene que contar las familias en cada hoja ?

De manera que por cada hoja tengo un contador de familias por ejemplo si FamiliaHoja1 > 0 [...]


=> puedes transcribir el codigo que ya estas utilizando ?

[perdon si tampoco fui muy *claro* con mis re-preguntas] :D
saludos,
hector.
Respuesta Responder a este mensaje
#4 colmenaf
26/09/2007 - 20:20 | Informe spam
On 25 sep, 18:50, "Héctor Miguel"
wrote:
hola, Flor !

me refiero a que expongas datos mas *visibles* [en terminos de los usuarios de excel] p.e.
-> los nombres de las hojas
los rangos donde se busca [y que se busca o como se cuenta]
alguna *razon* de porque esta si y esta no

> El libro tiene 6 hojas de pedido

=> *como* se llaman esas hojas ?

> el macro recorre cada hoja

=> *como* es que el macro *las recorre* ?
*descarta* algunas hojas y otras las incluye en el recorrido ?
existe algun *patron* en los nombres de las hojas ?

> y cuenta las familias de productos que tiene cada hoja

=> *como* sabe el codigo *donde* tiene que contar las familias en cada hoja ?

> De manera que por cada hoja tengo un contador de familias por ejemplo si FamiliaHoja1 > 0 [...]

=> puedes transcribir el codigo que ya estas utilizando ?

[perdon si tampoco fui muy *claro* con mis re-preguntas] :D
saludos,
hector.



Perfecto Héctor. :D

Este es el código que tiene la macro.

Saludos,
Flor.
**************************************************************************************

F_Max = 169
C_Max = 25
nummax_hoja = 4
FamHoj1 = 0: FamHoj2 = 0: FamHoj3 = 0: FamHoj4 = 0: Col1 = 19:
Col2 = 14: Col3 = 18: Col4 = 14: LinMax = 36
For Hoja = 1 To nummax_hoja
'--Leer Todas las Filas de la Hoja
-
For f = 1 To F_Max
'--Leer Todas las Columnas de la Hoja

For C = 1 To C_Max
celda = Chr(C + 64) & Trim(Str(f))
cantidad = Format(Worksheets(Hoja).Range(celda),
"##0.00")
If Hoja = 1 Then
If C = Col1 Then
If Not IsEmpty(Worksheets(Hoja).Range(celda))
And IsNumeric(Worksheets(Hoja).Range(celda)) Then
If cantidad > 0 Then
FamHoj1 = FamHoj1 + 1
End If
End If
End If
End If
If Hoja = 2 Then
If C = Col2 Then
If Not IsEmpty(Worksheets(Hoja).Range(celda))
And IsNumeric(Worksheets(Hoja).Range(celda)) Then
If cantidad > 0 Then
FamHoj2 = FamHoj2 + 1
End If
End If
End If
End If
If Hoja = 3 Then
If C = Col3 Then
If Not IsEmpty(Worksheets(Hoja).Range(celda))
And IsNumeric(Worksheets(Hoja).Range(celda)) Then
If cantidad > 0 Then
FamHoj3 = FamHoj3 + 1
End If
End If
End If
End If
If Hoja = 4 Then
If C = Col4 Then
If Not IsEmpty(Worksheets(Hoja).Range(celda))
And IsNumeric(Worksheets(Hoja).Range(celda)) Then
If cantidad > 0 Then
FamHoj4 = FamHoj4 + 1
End If
End If
End If
End If
Next C
Next f
Next Hoja
********************************************************************************************
Respuesta Responder a este mensaje
#5 Héctor Miguel
27/09/2007 - 02:35 | Informe spam
hola, Flor !

antes de *meterle mano* a la fraccion de codigo que expones...
y DESPUES de que se han llavado a cabo todas las instrucciones de esa fraccion de codigo...
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida