Foros del Web » Soporte técnico » Ofimática »

array con intervalo discontinuo

Estas en el tema de array con intervalo discontinuo en el foro de Ofimática en Foros del Web. Hola a Todos: Por favor me podeis ayudar en lo siguiente: Tengo una macro con un bucle para que me copie los valores de las ...
  #1 (permalink)  
Antiguo 01/07/2008, 09:33
 
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
array con intervalo discontinuo

Hola a Todos:

Por favor me podeis ayudar en lo siguiente:
Tengo una macro con un bucle para que me copie los valores de las columnas de otro fichero.

Cuando lo hago para un intervalo continuo me funciona perfectamente el array ( por ejemplo desde 1 hasta 5, es decir, desde la columna 1 hasta la 5) pero cuando le pongo que la siguiente a la cinco no sea la seis, sino la 7 no lo reconoce. ¿ Por qué puede ser?

Sub macrito()


Dim myarray As Variant
myarray = Array(1, 2, 3, 4, 5, 7)


Dim j As Long

For j = 1 To UBound(myarray)

Cells(2, j).FormulaR1C1 = "=IF([novale.xls]LISTADO!RC" & j & "="""","""",[novale.xls]LISTADO!RC" & j & ")"


Next j
  #2 (permalink)  
Antiguo 02/07/2008, 06:44
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Respuesta: array con intervalo discontinuo

Sí que funciona, solo que no has planteado correctamente el problema. El primer elemento de un array, por defecto siempre es cero, y no uno.

Prueba a cambiar esto:
Código:
For j = 1 To UBound(myarray)
Por esto otro:
Código:
For j = 0 To UBound(myarray)
Y luego, llama al valor correspondiente que haya en el elemento X del array (no llames al elemento sino al dato que hay en ese elemento, ...en el caso que te preocupa, con el último elemento, al poner "j", estás llamando al elemento que ocupa la posición 6, cuando en realidad debes llamar al valor que hay en esa posición, es decir, al 7). Para eso, cambia esto:
Código:
Cells(2, j).FormulaR1C1
Por esto otro:
Código:
Cells(2, myarray(j)).FormulaR1C1
Salu2
  #3 (permalink)  
Antiguo 02/07/2008, 07:56
 
Fecha de Ingreso: abril-2008
Mensajes: 27
Antigüedad: 16 años
Puntos: 0
Respuesta: array con intervalo discontinuo

muchisimas gracias, funciona perfectamente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:15.