Colocar el valor máximo de un grupo de datos en una columna de Excel con macros

Tengo una columna de cerca de 40 mil datos que se segmenta en múltiples segmentos de longitud distintas (corresponde a secuencias de proteínas iguales que tengo que agrupar en una sola secuencia para cada segmento)

1

2

(Espacio en blanco)

1

2

3

(Espacio en blanco)

1

2

(Espacio en blanco)

1

2

3

4

(Espacio en blanco)

Necesito hacer una macro que recorra toda la columna de arriba a abajo y le coloque el valor máximo de cada segmento, incluyendo el espacio en blanco. Es decir, debe quedar:

2

2

2

3

3

3

3

2

2

2

4

4

4

4

4

Al hacer eso yo puedo reorganizar todos los 40 mil datos y puedo sustituir las 2, 3 o 4 secuencias iguales por una sola en cada uno de esos segmentos de 2, 3 o 4 datos iguales.

1 Respuesta

Respuesta
1

[ho la Stefano Bónoli y bienvenido a TodoExpertos

Visita:

Excel y Macros

Ejecuta la siguiente macro:

Recomendaciones:

Guardar PDF

Convertir fórmulas a macro

[Sal u dos

Dante Amor

Macro

Cambia en esta línea Range("A2", Range("A" & Rows. Count) la letra "A" por la letra de la columna donde tienes los datos.

Recomendaciones:

Pasar valores de una hoja a otra

No hay manera de poner la macro completa en este foro.

La voy a poner en partes

Sub segmentos()
Dim ar As Range
For Each ar In Range("A2", Range("A" & Rows.Count).End(3)).SpecialCells(xlCellTypeConstants).Areas

ar.Resize(ar.Rows.Count + 1).Value = WorksheetFunction.Max(ar.Value)
Next
End Sub

Otra vez:

Sub segmentos()
Dim ar As Range
For Each ar In Range("A2", Range("A" & Rows.Count).End(3)).SpecialCells(xlCellTypeConstants).Areas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas