Eliminar datos de las celdas que no contienen información.

Tengo esta macro que copia;
1º Instructor y alumno AM
2º Horario Turno 1 AM
3º Horario Turno 2 AM
4º Instructor y alumno PM
5º Horario Turno 1 PM
6º Horario Turno 2 PM
7º Toma todo el rango de fue copiado y ordenado por
hora.

Sheets("Sem1").Select
Range("B5:D36").Select
Selection.Copy
Sheets("Programación").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("I5:J36").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Programación").Select
Range("E4").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("B5:D36").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Programación").Select
Range("B36").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("L5:M36").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Programación").Select
Range("E36").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("B40:D71").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Programación").Select
Range("B68").Select
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("I42:J71").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Programación").Select
Range("E68").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("B42:D71").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Programación").Select
Range("B98").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sem1").Select
Range("L42:M71").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=3
Sheets("Programación").Select
Range("E98").Select
Selection.PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B4:F127").Select
ActiveWindow.ScrollRow = 1
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Programación").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Programación").Sort.SortFields.Add
Key:=Range( _
"F4:F127"),
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With
ActiveWorkbook.Worksheets("Programación").Sort
.SetRange Range("B4:F127")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
La pregunta es: Que debo agregarle a esta macro para que una vez ordenada la lista
elimine los datos de quienes no tienen hora asignada?


B C E F H I
Instructor Alumno Turno 1 AM Hora Turno 2 PM hora
8 Juan Karla Maquinas 10:00 Baile 12:00
9 Pedro Jorge Bicicleta 10:30
10 Luis María Baile 12:00
11 Carlos Perla
12 José Claudio Bicicleta 11:00 Máquinas 12:00

Actividades del día lunes
Juan Karla Maquinas 10:00
Pedro Jorge Bicicleta 10:30
José Claudio Bicicleta 11:00
Juan Karla Baile 12:00
Luis María Baile 12:00
José Claudio Máquinas 12:00
Luis María
Carlos Perla


Los dos últimos deben salir del listado ya que no tiene programación asignada para algunos de los Turnos.

1 Respuesta

Respuesta
1

Agrega lo siguiente al final de tu macro

For i = Range("B" & Rows.Count).End(xlUp).Row To 4 Step -1
    If Cells(i, "E") = "" Then Rows(i).Delete
Next

Prueba y me comentas
Saludos. DAM
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas