Trabajar con variables

13/01/2004 - 22:57 por Desastres | Informe spam
Saludos

Para el caso de trabajo con bastantes (150-200) variables que apuntan a celdas de hojas, ¿ que es mas
efectivo:

Formarlas con la intersección de rangos ejemplo:
Set VarX = intersect( Rango 1, Rango 2) (Que tambien pueden ser variables)
Formarla con con variables numericas
Set VarX= RangoY.Cells(Variable1, Variable2)

Qué método es más eficiente , recomendado, fácil de controlar y rápido.

A la paz de Dios Hermanos
Des
 

Leer las respuestas

#1 Héctor Miguel
14/01/2004 - 02:18 | Informe spam
hola, Des !

... caso ... bastantes (150-200) variables que apuntan a celdas de hojas, ¿que es mas efectivo:
... con la interseccion de rangos ... Set VarX = intersect(Rango1, Rango2) (... pueden ser variables)
... con con variables numericas ... Set VarX= RangoY.Cells(Variable1, Variable2)
... metodo es mas eficiente, recomendado, facil de controlar y rapido.



[supongo que...] 'decidir' [o 'recomendar'] que metodo es 'mejor' para referenciar objetos-rango es...
[en buena medida] 'cuestion' de ... 'gustos'... 'habitos'... 'preferencias'... 'situaciones' ... [de programacion]
'decidir' [o evaluar] si se ha de establecer la referencia con la instruccion 'Set' [y luego... 'vaciarla'] ...
en ocasiones [parece que] es 'necesaria' y en otras se puede 'sustituir' con un bloque 'With'

una alternativa [que incluso puede 'ahorrar' o 'evitar' el uso de variables] es la notacion 'abreviada' :))
que 'consiste' en 'encerrar' entre 'corchetes' =>[<= y =>]<= los rangos [y los 'codename' de 'sus' hojas] p.e.:
las siguientes instrucciones 'hacen lo mismo' [suponiendo que el 'codename' de la hoja es: 'Hoja2']
=> para 'afectar' una celda [o rango] 'especifica' de una hoja 'especifica' desde 'cualquier' otra hoja ...
Sub Probando_Referencias()
Worksheets("Hoja2").Range("a1") = "Prueba 1"
[Hoja2].[a2] = "Prueba 2"
[Hoja2!a3] = "Prueba 3"
Dim Celda As Range
Set Celda = [Hoja2!a4] ' puedes usar 'cualquiera' de las tres 'formas' anteriores '
Celda = "Prueba 4"
Set Celda = Nothing
End Sub

si tu consulta 'va' en otro 'sentido'... ¿comentas?
saludos,
hector.

Preguntas similares