Ayuda macro recoger datos de varias filas

Tengo una tabla tipo a esta:

a b c d e f g h i j

1 si si si

2 si si si

3 si si si

La macro que estoy intentando hacer es que en la hoja 2 me devuelva los siguientes datos:

1 a si

1 c si

1 f si

2 b si

2 d si

2 e si

3 a si

3 g si

3 i si

En un excel con pocas filas, lo he ido solucionando grabando una makro y posteriormente filtrando y eliminando líneas con celdas vacías. Pero algunos excel tienen más de 150 líneas.

¿Qué me aconsejáis?

Muchas gracias.

1 respuesta

Respuesta
1

Te mando la solución y estas son las instrucciones:

Selecciona con el ratón el rango entero donde están esos "síes" (en tu ejemplo hubiera sido el rango (A1:I3), y después ejecuta esta macro:

(Puedes hacer rangos todo lo grande que quieras)

Sub series_si()
For Each celda In Selection
If UCase(celda.Value) = "SI"  Then
fila = celda.Row
columna = celda.Address(False, False)
columna2 = Left(columna, 1)
listado = listado & "," & fila & columna2 & "si"
End If
Next
listado = Mid(listado, 2, Len(listado) -1)
listado = Split(listado, ",")
Sheets("hoja2").Select
Range("a1").Select
For x = 0 To UBound(listado)
ActiveCell.Value = listado(x)
ActiveCell.Offset(1, 0).Select
Next
End Sub

recuerda finalizar y puntuar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas