Tengo un rango ya seleccionado, el rango esta determinado por una macro que hice y quiero el resultado en otra celda.

La pregunta es que quiero que e resultado de esa selección me aparezca en la la celda AC6 he usado el siguiente código:

    Cells.Find(What:="%", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
Selection.Offset(1, -1).Select
Range(Selection, Cells(ActiveCell.Row, 10)).Select

Aquí lo que hago es buscar (%) y luego selecciona desde el rango de la búsqueda hasta la celda j6, que es el rango que quiero sumar pero no puedo.

1 Respuesta

Respuesta
1

Intenta con un bucle, debajo de tu código donde selecciona el rango pon esto:

For each cell in selection

Range("AC6").value = Range("AC6").value + cell.value

No olvides el next

¡Gracias! 

Siiii me funciono, mil gracias.

Me funciona pero me podría dejar la fórmula quizás, no se por ejemplo el rango de la suma es que necesito que eso se repita hasta el final de los datos más o menos hasta la celda ac40

Este es el excel que tengo lo que esta seleccionado quiero que el resultado se muestre en la columna AC6 hacia abajo el rango de suma es el mismo desde EL RANGO J6 HASTA ANTES DE LA COLUMNA DEL % por eso necesito macro son una fórmula normal no funciona. Gracias.

Pasa el libro para ver que se puede hacer!

No se puede adjuntar archivos.

Aquí la solución de la última pregunta, cambia el código anterior por este:

For each cell in selection

Range("AC" & ActiveCell.Row).value = Range("AC" & ActiveCell.Row).value + cell.value

Next

Me avisas si funcionó.

Me sale la respuesta si pero como numero y no puedo jalarlo.

no se podrá con algo simple como: selection.formula=suma

O lo que fuera pero que ne salga con alguna fórmula para jalar nada más.

Investigué un poco y aparentemente no es posible, pero para simular bajar la fórmula te invito a hacer lo siguiente: cuenta por ejemplo

Cells.Find(What:="%", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
Selection.Offset(1, -1).Select
Range(Selection, Cells(ActiveCell.Row, 10)).Select
For i = 1 To 35
For Each cell In Selection
    Range("AC" & ActiveCell.Row).Value = Range("AC" & ActiveCell.Row).Value + cell.Value
Next
    Selection.Offset(1, 0).Select
Next

de la AC6 a la AC40 hay 35 filas entonces el for seria de 1 a 35.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas