Eliminar los espacios en blancos y agrupar las celdas que tengan valor

Hola Dam Disculpa por tantas consultas, es que estoy nueva en esto je je,

logre grabar esta macro pero se tarda mucho (se cuelga el ordenador), que me sugieres para optimizar el tiempo.

tengo información en el rango BX10:BX220, en la cual hay información intercalada, necesito agrupar las celdas llenas con el mismo orden que estas tienen.

Sub Macro1()
Application.Calculation = xlManual
Range("BX10:BX220").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
Range("BX10").Select
Range(Selection, Selection.End(xlDown)).Select
Application.Calculation = xlAutomatic
End Sub

AW

1 Respuesta

Respuesta
1

Prueba con esta, para ver si mejora los tiempos

Sub espacios()
'Borra espacios
'Por.Dam
Application.Calculation = xlManual
Range("BX10").Select
'ufila = Range("BX" & Rows.Count).End(xlUp).Row

ufila = 220
col = Range("BX1").Column
For i = 10 To ufila
If Cells(i, col) = "" Then
Selection.End(xlDown).Select
If ActiveCell.Row > ufila Then Exit For
Cells(i, col) = ActiveCell
ActiveCell = ""
End If
Next
Range("BX10").Select
Range(Selection, Selection.End(xlDown)).Select
Application.Calculation = xlAutomatic
End Sub

Saludos. Dam

Hola Dam

Probé con esa macro y me separa la información que tengo en desde BX10 hasta BX15 (ESTE RANGO LO ORDENA BIEN, HACIA ARRIBA Y EN EL MISMO ORDEN). el resto de la información se agrupa al final desde BX183 hasta la BX220, y lo hace de forma desordenada.

AW

Puedes enviarme tu archivo, con la columna BX para probar qué es lo que hace

Mi correo [email protected]

Buenas Noches DAM

Ya Pude solucionarlo, le busque la vuelta y cambie la macro que llenaba los valores en BX de manera de que no queden los espacios en blancos, mil gracias.

Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_1()
Sheets("BASE 2").Select Range("BX10:BX220").Select Selection.ClearContents End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_2() Range("BJ10:BJ24").Select Selection.Copy Range("BX10").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_3() Range("BK10:BK24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_4() Range("BL10:BL24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_5() Range("BM10:BM24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_6() Range("BN10:BN24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_7() Range("BO10:BO24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_8() Range("BP10:BP24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_9() Range("BQ10:BQ24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_10() Range("BR10:BR24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_11() Range("BS10:BS24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_12() Range("BT10:BT24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_13() Range("BU10:BU24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Seleccionar_zonas_a_mostrar_para_llenar_el_list_box_14() Range("BV10:BV24").Select Selection.Copy Range("BX10").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas