RANGO ACTIVO

28/07/2009 - 18:55 por yedeon | Informe spam
tengo columna A del 1 al 100 y b del 101 al 200 pej

1 11 (a1,b1)
2 12 (a2, b2)
3 13
. .
. .

OBJETIVO: al yo selecionar a1:a3 en d1 aparesca el resultado de :

(b1-a1)*(b2-a2)*(b3-a3) = 1000

y que si eligo el rango a1:a2 en d1 aparesca 100

la dificultad es que realize esa operacion con el rango activo o
seleccionado, respecto con la columna b ??

ALGUNA IDEA , THKS

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
01/08/2009 - 07:27 | Informe spam
hola (...), ?????

tengo columna A del 1 al 100 y b del 101 al 200 pej
1 11 (a1,b1)
2 12 (a2, b2)
3 13
. .
OBJETIVO: al yo selecionar a1:a3 en d1 aparesca el resultado de: (b1-a1)*(b2-a2)*(b3-a3) = 1000
y que si eligo el rango a1:a2 en d1 aparesca 100
la dificultad es que realize esa operacion con el rango activo o seleccionado, respecto con la columna b ??



copia/pega (o escribe) el siguiente procedimiento en el modulo de codigo de "esa" hoja:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Dim Start As Integer, Finish As Integer, n As Integer, Resultado As Double
With Target.Columns(1)
Start = .Row
Finish = .Rows.Count + Start - 1
Resultado = Range("b" & Start) - Range("a" & Start)
For n = Start + 1 To Finish
Resultado = Resultado * (Range("b" & n) - Range("a" & n))
Next
End With
Range("d1") = Resultado
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Héctor Miguel
01/08/2009 - 08:06 | Informe spam
hola (de nuevo), ?????

tengo columna A del 1 al 100 y b del 101 al 200 pej
1 11 (a1,b1)
2 12 (a2, b2)
3 13
. .
OBJETIVO: al yo selecionar a1:a3 en d1 aparesca el resultado de: (b1-a1)*(b2-a2)*(b3-a3) = 1000
y que si eligo el rango a1:a2 en d1 aparesca 100
la dificultad es que realize esa operacion con el rango activo o seleccionado, respecto con la columna b ??





hay otra forma sin recurrir a las macros, pero requiere que "manualmente" le indiques desde cual fila hasta cual otra (p.e.)

[D2] 1
[D3] 3

lo anterior significa "desde la fila 1 hasta la fila 3"

[D1] =producto(subtotales(9,desref(b1,fila(indirecto(d2&":"&d3))-1,))-subtotales(9,desref(a1,fila(indirecto(d2&":"&d3))-1,)))

la anterior es una formula de entrada matricial (se introduce/edita confirmando por ctrl + shift + enter)
y comprueba si mi separador de argumentos (coma) es el mismo en tu sistema

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
01/08/2009 - 08:11 | Informe spam
hola (otra vez...), :))

tengo columna A del 1 al 100 y b del 101 al 200 pej
1 11 (a1,b1)
2 12 (a2, b2)
3 13
. .
OBJETIVO: al yo selecionar a1:a3 en d1 aparesca el resultado de: (b1-a1)*(b2-a2)*(b3-a3) = 1000
y que si eligo el rango a1:a2 en d1 aparesca 100
la dificultad es que realize esa operacion con el rango activo o seleccionado, respecto con la columna b ??







incluso, puedes usar la funcion "producto" (aun matricialmente) por entrada directa de los rangos a multiplicar (p.e.)

[D1] =producto(b1:b3-a1:a3)
=producto(b1:b5-a1:a5)
=producto(b3:b4-a3:a4)

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida