¿Me podrías orientar con una macro?

Si empiezo con el número 1 y cuando encuentre una celda en verde se salte a la siguiente celda y se ponga 2 y si no hubiera celda verde que se mantenga 2 hasta que haya una celda verde y se ponga 3 y así sucesivamente...

Respuesta
3

Puedes poner un par de imágenes del antes y el después. Procura que se vean las filas y las columnas de la hoja de excel

Adjunto imagen en donde la columna H es un ejemplo de se debe mostrar en la columna G, consecutivos desde el 0001 como sigue una celda verde salto a la siguiente celda con 0002 y así, en el caso de la imagen se observa un 0005 que como no hay celda verde se copie su mismo valor hasta que encuentre una celda verde y cambie al 0006.

Te anexo la macro

Sub Poner_Numero()
'Por Dante Amor
    n = 1
    For i = 3 To Range("B" & Rows.Count).End(xlUp).Row
        If Cells(i, "G").Interior.ColorIndex <> 43 Then
            Cells(i, "G").Value = n
        Else
            n = n + 1
        End If
    Next
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: pinta
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Antes de ejecutar la macro, primero debes conocer el número de color. 

Pon el cursor en una celda de color verde y ejecuta la siguiente macro:

Sub wcolor()
    micolor = ActiveCell.Interior.ColorIndex
    MsgBox "El número de color de la celda es : " & micolor
End Sub

En pantalla te aparecerá el número de color. Toma ese número y cambia el 43 por tu número en esta línea de la macro:

        If Cells(i, "G").Interior.ColorIndex <> 43 Then

NOTA: Me parece que no es necesario poner el consecutivo en base al color, ya que tienes otras columnas que nos pueden ayudar, según tu imagen, en la columna B, por ejemplo, tienes el país, entonces se puede numerar la columna G si existe dato en la columna B, si no existe, entonces que no ponga número y que incremente el número.

Otra Nota: Para que el número 1 se vea como 0001, cambia el formato de celdas, en Número, Personalizada y en Tipo escribe 4 ceros 0000


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas