Excel - Dividir celdas y copiar en otra celda con secuencia

 
Vista:
sin imagen de perfil
Val: 36
Ha disminuido su posición en 15 puestos en Excel (en relación al último mes)
Gráfica de Excel

Dividir celdas y copiar en otra celda con secuencia

Publicado por Carlos (20 intervenciones) el 07/05/2019 12:17:42
Hola a todos.

Estoy construyendo una matriz de datos y necesito una macro que me ayude a realizar la siguiente acción:

Celda O13 dividir entre Celda M13. Resultado en Celda Q13.
Celda O14 dividir entre Celda M14. Resultado en Celda Q14.
Celda O15 dividir entre Celda M15. Resultado en Celda Q15.

Luego:

Celda O27 dividir entre Celda M27. Resultado en Celda Q27.
Celda O28 dividir entre Celda M28. Resultado en Celda Q28.
Celda O29 dividir entre Celda M29. Resultado en Celda Q29.


Luego:

Celda O41 dividir entre Celda M41. Resultado en Celda Q41.
Celda O42 dividir entre Celda M42. Resultado en Celda Q42.
Celda O43 dividir entre Celda M43. Resultado en Celda Q43.

Esta acción debe repetirse sucesivamente hasta la fila 247647.

Para mejor comprensión de lo que necesito, adjunto parte de la matriz en donde podrán observar lo siguiente:

Celdas color azul: Celdas a seleccionar en primer lugar.
Celdas color amarillo: Celdas que dividen los valores seleccionados.
Celdas color verde: Celdas donde se pone el resultado de las operaciones previas.

Agradezco de antemano su ayuda.

Saludos cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.151
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Dividir celdas y copiar en otra celda con secuencia

Publicado por Antoni Masana (1459 intervenciones) el 07/05/2019 12:31:58
Algo simple:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Calcula_Q()
    Dim Fila As Long
 
    For Fila = 13 To 247647 Step 14
        Cells(Fila + 0, "Q") = 0
        Cells(Fila + 1, "Q") = 0
        Cells(Fila + 2, "Q") = 0
 
        If Cells(Fila + 0, "M") <> 0 Then Cells(Fila + 0, "Q") = Cells(Fila + 0, "O") / Cells(Fila + 0, "M")
        If Cells(Fila + 1, "M") <> 0 Then Cells(Fila + 1, "Q") = Cells(Fila + 1, "O") / Cells(Fila + 1, "M")
        If Cells(Fila + 2, "M") <> 0 Then Cells(Fila + 2, "Q") = Cells(Fila + 2, "O") / Cells(Fila + 2, "M")
        DoEvents
    Next
    MsgBox "Fin Macro"
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 36
Ha disminuido su posición en 15 puestos en Excel (en relación al último mes)
Gráfica de Excel

Dividir celdas y copiar en otra celda con secuencia

Publicado por Carlos (20 intervenciones) el 07/05/2019 13:25:40
Antoni.

Como siempre tan efectivo.

Adicionalmente necesito una macro que me permita borrar los valores de las celdas con resultados de cero.

Por tanto sería una macro que me permitiera borrar las siguientes celdas:

Q15
Q29
Q43

Y así sucesivamente hasta la fila 247647.

Nuevamente gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.151
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Dividir celdas y copiar en otra celda con secuencia

Publicado por Antoni Masana (1459 intervenciones) el 07/05/2019 20:33:43
El truco del almendruco:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Calcula_Q()
    Dim Fila As Long
 
    For Fila = 13 To 247647 Step 14
        Cells(Fila + 0, "Q") = ""
        Cells(Fila + 1, "Q") = ""
        Cells(Fila + 2, "Q") = ""
 
        If Cells(Fila + 0, "M") <> 0 Then Cells(Fila + 0, "Q") = Cells(Fila + 0, "O") / Cells(Fila + 0, "M")
        If Cells(Fila + 1, "M") <> 0 Then Cells(Fila + 1, "Q") = Cells(Fila + 1, "O") / Cells(Fila + 1, "M")
        If Cells(Fila + 2, "M") <> 0 Then Cells(Fila + 2, "Q") = Cells(Fila + 2, "O") / Cells(Fila + 2, "M")
        DoEvents
    Next
    MsgBox "Fin Macro"
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 36
Ha disminuido su posición en 15 puestos en Excel (en relación al último mes)
Gráfica de Excel

Dividir celdas y copiar en otra celda con secuencia

Publicado por Carlos (20 intervenciones) el 08/05/2019 11:12:16
Gracias nuevamente!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar