Ayuda con macro

Hola tengo una macro que baje de la red y funciona muy bien para lo que hago,solo que necesito insertar 3 columnas y 20 filas mas y no me deja hacerlo me manda un error;me podría ayudar por favor?este es el código y donde tiene los dos asteriscos (yo los puse para que usted identifique el error)ahi me manda el error.Lo que hace esta macro es la frecuencia y las semanas para el mantenimiento a equipos por año,en las dos primeras columnas están los equipos y en la cuarta y quinta la frecuencia y la semana supongo que las dos primeras no entran en la macro.De antemano Gracias

Sub Cronograma()
LastRow = Worksheets("Planeador").Cells(65536, 1).End(xlUp).Row
For y = 5 To 57
For x = 3 To LastRow
Worksheets("Planeador").Cells(x, y).ClearContents
Worksheets("Planeador").Cells(x, y).Interior.ColorIndex = xlNone
Next x
Next y
For i = 3 To LastRow
contador = 0
** MyNumber = (53 - Worksheets("Planeador").Cells(i, 4).Value + 1) / Worksheets("Planeador").Cells(i, 3).Value
For j = 1 To IIf(Int(MyNumber) = MyNumber, MyNumber, Int(MyNumber) + 1)
MyColumn = Worksheets("Planeador").Cells(i, 4) + Worksheets("Planeador").Cells(i, 3) * contador + 4
Worksheets("Planeador").Cells(i, MyColumn) = "x"
Worksheets("Planeador").Cells(i, MyColumn).Interior.ColorIndex = 36
contador = contador + 1
Next j
Next i
End Sub

1 Respuesta

Respuesta
1

Para saber qué hace la macro, necesito conocer los datos, puedes enviarme un archivo con datos, me dices de dónde a dónde funciona bien y me explicas con imágenes, comentarios y colores, lo que necesitas.

Ya le envíe el libro de excel con macro a su correo Gracias.

disculpe en las columnas C y D le cambia a cualquiera el numero y ya se ve el cambio cuando corre la macro cambian las x y el color a otra celda.casco2

Te regreso la macro ajustada

Sub Cronograma()
'Actualizada por.DAM
Set h1 = Worksheets("Planeador")
uf = h1.Cells(65536, 1).End(xlUp).Row
'valores iniciales
ci = 8 'Columna inicial de semenas
ns = 52 'total de semanas
si = 7 'columna de semana inicial
fr = 6 'columna de frecuencia
Range(Cells(3, ci), Cells(uf, ci + ns)).ClearContents
Range(Cells(3, ci), Cells(uf, ci + ns)).Interior.ColorIndex = xlNone
For i = 3 To uf
    contador = 0
    MyNumber = (ns - h1.Cells(i, si).Value + 1) / h1.Cells(i, fr).Value
    For j = 1 To IIf(Int(MyNumber) = MyNumber, MyNumber, Int(MyNumber) + 1)
        MyColumn = h1.Cells(i, si) + h1.Cells(i, fr) * contador + ci - 1
        h1.Cells(i, MyColumn) = "x"
        h1.Cells(i, MyColumn).Interior.ColorIndex = 36
        contador = contador + 1
    Next j
Next i
End Sub

Para actualizar la macro si decides quitar o poner más columnas, cambia los siguientes valores en la macro:

'valores iniciales
ci = 8 'Columna inicial de semanas
ns = 52 'total de semanas
si = 7 'columna de semana inicial
fr = 6 'columna de frecuencia

Saludos. Dam
Si es lo que necesitas.

Considera la macro que te envié en el archivo

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas