Arrays en VBA
Publicado por Yodisterio (1 intervención) el 06/04/2019 20:13:34
Buenas tardes,
Es mi primer post por lo que agradezco de antemano la ayuda de todos!!
No era muy amigo de trabajar con arrays en Vba porque a diferencia de otros lenguajes de programación, no les tenía cogido el tranquillo. Estoy reconvirtiendo el código de varias macros que uso diariamente en mi trabajo y me han hablado de que hay una forma de generar una variable tipo array, de forma pública (fuera de todo procedimiento o función, es decir a nivel módulo o proyecto) y cargar ese array con los datos que se desee, con la facilidad de no tener que volver a cargar el array y así llamarlo en cualquier momento desde cualquier procedimiento.
Es decir, necesito que al abrir Excel, yo pulse un botón y se carguen en memoria en esos arrays predefinidos en mi módulo una serie de datos que en cualquier momento si los necesito (en verdad solo los necesitaría en modo lectura, ni siquiera tendría que actualizarlos) los rescate sin necesidad de volver a cargarlos.
No sé si me explico, porque por mas que lo leo creo que me explico bastante mal :) por lo que pongo un miniejemplo:
public miarray () as variant
sub CargarArray()
miarray(0) = X
miarray(1) = Y
End sub
sub miProcedimientoX()
'desde aqui mostrar cualquier dato del array, que previamente he querido cargar
'como es lógico, de la forma en la que acabo de ponerlo, arroja error, por lo que necesitaría saber de que forma debería cargar ese array en memoria, para que luego desde cuaquier sub o function pueda llamarlo.
end sub
Gracias!!!
Es mi primer post por lo que agradezco de antemano la ayuda de todos!!
No era muy amigo de trabajar con arrays en Vba porque a diferencia de otros lenguajes de programación, no les tenía cogido el tranquillo. Estoy reconvirtiendo el código de varias macros que uso diariamente en mi trabajo y me han hablado de que hay una forma de generar una variable tipo array, de forma pública (fuera de todo procedimiento o función, es decir a nivel módulo o proyecto) y cargar ese array con los datos que se desee, con la facilidad de no tener que volver a cargar el array y así llamarlo en cualquier momento desde cualquier procedimiento.
Es decir, necesito que al abrir Excel, yo pulse un botón y se carguen en memoria en esos arrays predefinidos en mi módulo una serie de datos que en cualquier momento si los necesito (en verdad solo los necesitaría en modo lectura, ni siquiera tendría que actualizarlos) los rescate sin necesidad de volver a cargarlos.
No sé si me explico, porque por mas que lo leo creo que me explico bastante mal :) por lo que pongo un miniejemplo:
public miarray () as variant
sub CargarArray()
miarray(0) = X
miarray(1) = Y
End sub
sub miProcedimientoX()
'desde aqui mostrar cualquier dato del array, que previamente he querido cargar
'como es lógico, de la forma en la que acabo de ponerlo, arroja error, por lo que necesitaría saber de que forma debería cargar ese array en memoria, para que luego desde cuaquier sub o function pueda llamarlo.
end sub
Gracias!!!
Valora esta pregunta
0