Visual Basic para Aplicaciones - ¿Es posible la Macrosustitución en VBA?

Life is soft - evento anual de software empresarial
 
Vista:

¿Es posible la Macrosustitución en VBA?

Publicado por Víctor Hugo (2 intervenciones) el 22/10/2004 01:29:39
Me pregunto si algo como lo siguiente es posible:

1
2
3
for x = 1 to 5
   variable&(x)=variable&(x+5)
next x

lo que es igual que decir:

variable1=variable6
variable2=variable7
variable3=variable8
variable4=variable9
variable5=variable10

De antemano, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Es posible la Macrosustitución en VBA?

Publicado por J.Fernando (40 intervenciones) el 22/10/2004 17:53:34
Hola

Puedes crear un array:

1
2
3
4
5
6
7
8
9
10
11
Dim Variable(1 to 10) as Double 'Por ejemplo
Variable(1)=Valor
.
.
.
.
Variable(10)=Valor
 
For X= 1 to 5
Variable(X)=Variable(X+5)
Next X

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Es posible la Macrosustitución en VBA?

Publicado por Victor Hugo (2 intervenciones) el 23/10/2004 00:18:36
Si, la solución es viable, pero no puedo asignar esos nombres a mis controles, es decir, a mis cuadros dfe texto, que son los que en realidad estoy procesando.

Estoy investigando con las colecciones de controles, que me parece me darán la solución para procesar mis cuadros de texto a través de índices y así, me olvido de la famosa macrosustitución.

Hasta luego y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Es posible la Macrosustitución en VBA?

Publicado por Victor Hugo (2 intervenciones) el 25/10/2004 14:23:15
LISTO!!!

1
2
3
4
5
6
7
8
dim dato as integer
dim dato as string
 
for x=1 to 5
 dato1=format(x)
 dato2=format(x+5)
 me.controls("variable"+dato)= me.controls("variable"+dato2)
next x

GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Es posible la Macrosustitución en VBA?

Publicado por Victor Hugo (2 intervenciones) el 26/10/2004 00:07:58
Finalmente, el operador de concatenación hace más versatil la operación y el código queda de la siguiente manera:

1
2
3
4
5
dim y as integer
for x=1 to 5
 y=x+5
 me.controls("variable" & x)= me.controls("variable" & x & y)
next x

Saludos

Gracias por su valiosa ayuda misma que he recibido en mi buzón.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Es posible la Macrosustitución en VBA?

Publicado por Leopoldo (1 intervención) el 29/06/2016 02:03:16
No logro hacer que esto funcione:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Macro1()
 
Dim Valor_01, Valor_02, n, cDato
 
    Valor_01 = "A1"
    Valor_02 = "B1"
    n = 0
 
    cDato = "Valor_" & Trim(Str(n)) & "1"
 
    Range(cDato).Select
 
'    MsgBox cDato
 
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar