Suma de rangos variables usando ActiveCell.Address

25/08/2008 - 15:57 por Juans | Informe spam
Requiero hacer una suma con rangos que son variables para lo cual
estoy usando ActiveCell.Address.
He creado dos variables tipo string para el rango inicial (sumar_a) y
el rango final (sumar_b) pero al ejecutar la instrucción de la fórmula
suma (Selection.Formula = "=SUM(" & sumar_a & ":" & sumar_b & ")" me
sale un error de compilación que resalta la parte "=SUM("


Gracias a quien me pueda ayudar a solucionarlo.

Slds.

Preguntas similare

Leer las respuestas

#6 Juan M
26/08/2008 - 15:53 | Informe spam
Hola Juans,

En la siguiente expresión inserta los espacios antes y después de las &

Activecell.formula="=sum("&sumar_a& ":" &sumar_b&")"

quedaría:

Activecell.formula="=sum(" & sumar_a & ":" & sumar_b & ")"

Por otra parte, el código parece que devuelve la misma dirección en las dos
busquedas.
Aparentemente busca el texto "Marzo2 ", captura su posición en la variable
sumar_a y luego vuelve a hacer la misma búsqueda y lo almacena en sumar_b.
Luego escribe la fórmula.

No se si es esto lo que buscas, o me he despistado yo?.

Un saludo,
Juan


"Juans" escribió
On 25 ago, 10:13, "Juan M" wrote:
Hola Juans,

Comprueba que los rangos que pasas en sumar_a y sumar_b, realmente
corresponde a rangos válidos.
Podrías incluir el código que has empleado y el error obtenido.

Un saludo,
Juan

"Juans" escribió
Requiero hacer una suma con rangos que son variables para lo cual
estoy usando ActiveCell.Address.
He creado dos variables tipo string para el rango inicial (sumar_a) y
el rango final (sumar_b) pero al ejecutar la instrucción de la fórmula
suma (Selection.Formula = "=SUM(" & sumar_a & ":" & sumar_b & ")" me
sale un error de compilación que resalta la parte "=SUM("

Gracias a quien me pueda ayudar a solucionarlo.

Slds.





Hola Juan:
Este es el código que estoy utilizando.

Slds.

Juans
Sub suma()

Dim sumar_a As String
Dim sumar_b As String

'PASO 1
'Ubica la fecha inicial en la celda I3
Range("I3").Select
Selection.Copy

'Selecciona la columna A para buscar el valor de I3
Columns("A:A").Select
Selection.Find(What:="Marzo2 ", After:=ActiveCell,
LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

'Selecciona la celda encontrada y la asigna a la variable sumar_a
sumar_a = ActiveCell.Address

'PASO 2
'Ubica la fecha inicial en la celda I3 Range("J3").Select
Selection.Copy

'Selecciona la columna A para buscar el valor de J3
Columns("A:A").Select
Selection.Find(What:="Marzo2 ", After:=ActiveCell,
LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

'Selecciona la celda encontrada y la asigna a la variable sumar_B
sumar_b = ActiveCell.Address

'PASO 3
'Selecciona la celda donde quedará la fórmula
Range("k3").Select


'PASO 4
'Escribe la fórmula de suma con los rangos de las variables
Activecell.formula="=sum("&sumar_a& ":" &sumar_b&")"

End Sub
Respuesta Responder a este mensaje
#7 Juans
27/08/2008 - 21:45 | Informe spam
On 26 ago, 08:53, "Juan M" wrote:
Hola Juans,

En la siguiente expresión inserta los espacios antes y después de las &

Activecell.formula="=sum("&sumar_a& ":" &sumar_b&")"

quedaría:

Activecell.formula="=sum(" & sumar_a &  ":" & sumar_b & ")"

Por otra parte, el código parece que devuelve la misma dirección en las dos
busquedas.
Aparentemente busca el texto "Marzo2 ", captura su posición en la variable
sumar_a y luego vuelve a hacer la misma búsqueda y lo almacena en sumar_b.
Luego escribe la fórmula.

No se si es esto lo que buscas, o me he despistado yo?.

Un saludo,
Juan

"Juans" escribió
On 25 ago, 10:13, "Juan M" wrote:





> Hola Juans,

> Comprueba que los rangos que pasas en sumar_a y sumar_b, realmente
> corresponde a rangos válidos.
> Podrías incluir el código que has empleado y el error obtenido.

> Un saludo,
> Juan

> "Juans" escribió
> Requiero hacer una suma con rangos que son variables para lo cual
> estoy usando ActiveCell.Address.
> He creado dos variables tipo string para el rango inicial (sumar_a) y
> el rango final (sumar_b) pero al ejecutar la instrucción de la fórmula
> suma (Selection.Formula = "=SUM(" & sumar_a & ":" & sumar_b & ")" me
> sale un error de compilación que resalta la parte "=SUM("

> Gracias a quien me pueda ayudar a solucionarlo.

> Slds.

Hola Juan:
Este es el código que estoy utilizando.

Slds.

Juans
Sub suma()

Dim sumar_a As String
Dim sumar_b As String

'PASO 1
'Ubica la fecha inicial en la celda I3
    Range("I3").Select
    Selection.Copy

'Selecciona la columna A para buscar el valor de I3
    Columns("A:A").Select
    Selection.Find(What:="Marzo2 ", After:=ActiveCell,
LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

'Selecciona la celda encontrada y la asigna a la variable sumar_a
    sumar_a = ActiveCell.Address

'PASO 2
'Ubica la fecha inicial en la celda I3    Range("J3").Select
    Selection.Copy

'Selecciona la columna A para buscar el valor de J3
    Columns("A:A").Select
    Selection.Find(What:="Marzo2 ", After:=ActiveCell,
LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

'Selecciona la celda encontrada y la asigna a la variable sumar_B
    sumar_b = ActiveCell.Address

'PASO 3
'Selecciona la celda donde quedará la fórmula
Range("k3").Select

'PASO 4
'Escribe la fórmula de suma con los rangos de las variables
Activecell.formula="=sum("&sumar_a& ":" &sumar_b&")"

End Sub- Ocultar texto de la cita -

- Mostrar texto de la cita -



Juan:
Gracias por tu ayuda, fue muy efectiva.
Tienes razón con decir que ambas búsquedas es, Marzo2.
El objetivo es que la búsqueda1 sea con el valor de la celda I3 y la
búsqueda2 con el valor de la celda J3, que pienso que lo puedo hacer
declarando variables y asignándoles el valor de la celda.


Slds.

Juans
Respuesta Responder a este mensaje
#8 Juans
27/08/2008 - 21:45 | Informe spam
On 26 ago, 08:53, "Juan M" wrote:
Hola Juans,

En la siguiente expresión inserta los espacios antes y después de las &

Activecell.formula="=sum("&sumar_a& ":" &sumar_b&")"

quedaría:

Activecell.formula="=sum(" & sumar_a &  ":" & sumar_b & ")"

Por otra parte, el código parece que devuelve la misma dirección en las dos
busquedas.
Aparentemente busca el texto "Marzo2 ", captura su posición en la variable
sumar_a y luego vuelve a hacer la misma búsqueda y lo almacena en sumar_b.
Luego escribe la fórmula.

No se si es esto lo que buscas, o me he despistado yo?.

Un saludo,
Juan

"Juans" escribió
On 25 ago, 10:13, "Juan M" wrote:





> Hola Juans,

> Comprueba que los rangos que pasas en sumar_a y sumar_b, realmente
> corresponde a rangos válidos.
> Podrías incluir el código que has empleado y el error obtenido.

> Un saludo,
> Juan

> "Juans" escribió
> Requiero hacer una suma con rangos que son variables para lo cual
> estoy usando ActiveCell.Address.
> He creado dos variables tipo string para el rango inicial (sumar_a) y
> el rango final (sumar_b) pero al ejecutar la instrucción de la fórmula
> suma (Selection.Formula = "=SUM(" & sumar_a & ":" & sumar_b & ")" me
> sale un error de compilación que resalta la parte "=SUM("

> Gracias a quien me pueda ayudar a solucionarlo.

> Slds.

Hola Juan:
Este es el código que estoy utilizando.

Slds.

Juans
Sub suma()

Dim sumar_a As String
Dim sumar_b As String

'PASO 1
'Ubica la fecha inicial en la celda I3
    Range("I3").Select
    Selection.Copy

'Selecciona la columna A para buscar el valor de I3
    Columns("A:A").Select
    Selection.Find(What:="Marzo2 ", After:=ActiveCell,
LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

'Selecciona la celda encontrada y la asigna a la variable sumar_a
    sumar_a = ActiveCell.Address

'PASO 2
'Ubica la fecha inicial en la celda I3    Range("J3").Select
    Selection.Copy

'Selecciona la columna A para buscar el valor de J3
    Columns("A:A").Select
    Selection.Find(What:="Marzo2 ", After:=ActiveCell,
LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

'Selecciona la celda encontrada y la asigna a la variable sumar_B
    sumar_b = ActiveCell.Address

'PASO 3
'Selecciona la celda donde quedará la fórmula
Range("k3").Select

'PASO 4
'Escribe la fórmula de suma con los rangos de las variables
Activecell.formula="=sum("&sumar_a& ":" &sumar_b&")"

End Sub- Ocultar texto de la cita -

- Mostrar texto de la cita -



Juan:
Gracias por tu ayuda, fue muy efectiva.
Tienes razón con decir que ambas búsquedas es, Marzo2.
El objetivo es que la búsqueda1 sea con el valor de la celda I3 y la
búsqueda2 con el valor de la celda J3, que pienso que lo puedo hacer
declarando variables y asignándoles el valor de la celda.


Slds.

Juans
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida