Macro desde una fila y columna de referencia

Como le comentaba, necesito una macro que abarce los rangos AL5:OO195, en donde coloque una referencia en AK5:AK195 (por ejemplo S;G;VB;VB2), dependiendo de las fechas que se encuentran en el AL4:OO4, en las siguiente celda dependiendo de fechas me marque en donde aparece una M en el rango AL5:OO195, las letras S, G, VB, VB2.

1 Respuesta

Respuesta
1

Puedes detallar con ejemplos y con imágenes lo que necesitas. Recuerda que en la imagen deben aparecer las filas y las columnas, pon varios ejemplos en la imagen.

No importa la celda, quizas puedo entrar y modificar macro, lo que me interesa es que siga la secuencia. supongamos un rango D5:AOO195, despues de la referencia, que en la imagen se encuentra en la columna C

otro ejemplo de donde salen las fechas en donde van las secuencia

Ahora no entiendo cada cuando hay que poner las letras.

En tu ejemplo1, hay un espacio de 3 fechas y pones la S, luego un espacio de 4 fechas y pones la S, luego 4 fechas VB, luego 5 fechas S.

En el ejemplo2, 1 fecha "S", 3 fechas "S", 5 fechas "g".

No entiendo cada cuando se tienen que poner las letras.

hola!!!!las fechas que en la segunda imagen estan en  la parte inferior son de referencia en mi formula inicial las tengo relacionadas con las fechas de la parte superior con la formula  "=SI(O($C15=D$4;$D15=D$4;$E15=D$4);S;"")"; y eso las tengo con un valor en S, pero creo que se podia mejorar la formula y al Si(O(...." anidarle la secuencia anterior". 

No, sigo sin entender, explícame el ejemplo 1, ¿por qué en la celda G6 pusiste una letra?

Por qué, ¿en la celda L6 pusiste letra?

Y así, por cada letra que pusiste, explícame, por qué en esa celda pusiste una letra.

A lo mejor falta que me expliques de dónde salió el cuadro que tienes en las filas 14 y 15, pero si tus filas a rellenar van hasta la fila 195, no sé cómo va a estar ese cuadro en medio de las filas a rellenar.

Si puedes explicarlo con tu archivo, envíame tu archivo y me explicas los ejemplos, recuerda que la información debe ser real, es decir, si dices que las celdas a rellenar empiezan en la celda D5, esa celda la toma como referencia la macro para iniciar, si en un futuro eso cambiar, pues habrá que ajustar la macro, pero para que funcione en este momento, es necesario que me indiques la posiciones reales de los datos.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Jose Mf” y el título de esta pregunta.

Dante, buenas tardes, ya le envíe el archivo, desde ya muchas gracias por todo!

Te anexo la macro para poner la secuencia:

Sub Secuencia()
'Por.Dante Amor
    Application.ScreenUpdating = False
    uf = Range("B" & Rows.Count).End(xlUp).Row
    If uf < 3 Then uf = 3
    uc = Cells(2, Columns.Count).End(xlToLeft).Column
    Range(Cells(3, "P"), Cells(uf, uc)).ClearContents
    letras = Array("", "S", "S", "G", "S", "S", "VB", "S", "S", "G", "S", "S", "VB2")
    For i = 3 To uf
        ini = Cells(i, "O")
        Select Case ini
            Case "S":   sig = 2
            Case "G":   sig = 4
            Case "VB":  sig = 7
            Case "VB2": sig = 1
            Case Else:  ini = ""
        End Select
        '
        If ini <> "" Then
            For j = Columns("C").Column To Columns("N").Column
                If IsDate(Cells(i, j)) And Cells(i, j) <> "" Then
                    Set b = Rows(2).Find(Cells(i, j), LookAt:=xlWhole, LookIn:=xlFormulas)
                    If Not b Is Nothing Then
                        Cells(i, b.Column) = letras(sig)
                        sig = sig + 1
                        If sig = 13 Then sig = 1
                    End If
                End If
            Next
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "Terminado", vbInformation
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas