Pinta
23-may-2005, 07:19
bueno yo sigo a lo mio a ver si consigo que esto tenga movimiento para aprender un poco mientras los que saben sacan algo de la pitufa.
vamos a ver como movernos por la hoja de calculo y hacer una macro para que una columna de numeros suba un porcentaje.
para movernos por la hoja es algo muy sencillo simplemente usamos
activecell.offset(fila,columna)
por ejemplo nos posicionamos en la celda A1 con:
range("a1").select
ahora le decimos que avance una fila para abajo y una columna para la izquierda con:
activecell.offset(1,1).select
si queremos que solo baje una fila ponemos:
activecell.offset(1,0).select
una vez entendido como moverse por la hoja, vamos a posicionarnos en la celda A1 para aplicar un porcentaje al rango A1:A20 que es donde tenemos los valores
range("a1").select
ahora vamos a crear un bucle en el que indicamos que mientras el valor de la celda sea <> a "" que aplique el porcentaje
While activecell <> "" ' Inicio del bucle
activecell =activecell * 1.13 'instrucción a realizar mientras la celda sea <> a ""
activecell.offset(1,0).select ' avanzamos una celda para que el bucle no quede infinito
Wend ' Fin del bucle
El codigo completo quedaria asi:
Sub subir_columna()
Range("a1").Select
While ActiveCell <> ""
ActiveCell = ActiveCell * 1.13
ActiveCell.Offset(1, 0).Select
Wend
End Sub
os adjunto ejemplo por si hay dudas.
un saludo,
vamos a ver como movernos por la hoja de calculo y hacer una macro para que una columna de numeros suba un porcentaje.
para movernos por la hoja es algo muy sencillo simplemente usamos
activecell.offset(fila,columna)
por ejemplo nos posicionamos en la celda A1 con:
range("a1").select
ahora le decimos que avance una fila para abajo y una columna para la izquierda con:
activecell.offset(1,1).select
si queremos que solo baje una fila ponemos:
activecell.offset(1,0).select
una vez entendido como moverse por la hoja, vamos a posicionarnos en la celda A1 para aplicar un porcentaje al rango A1:A20 que es donde tenemos los valores
range("a1").select
ahora vamos a crear un bucle en el que indicamos que mientras el valor de la celda sea <> a "" que aplique el porcentaje
While activecell <> "" ' Inicio del bucle
activecell =activecell * 1.13 'instrucción a realizar mientras la celda sea <> a ""
activecell.offset(1,0).select ' avanzamos una celda para que el bucle no quede infinito
Wend ' Fin del bucle
El codigo completo quedaria asi:
Sub subir_columna()
Range("a1").Select
While ActiveCell <> ""
ActiveCell = ActiveCell * 1.13
ActiveCell.Offset(1, 0).Select
Wend
End Sub
os adjunto ejemplo por si hay dudas.
un saludo,