Macro eliminar columnas por rango y filas

Me pueden apoyar con macro para eliminar Columnas de acuerdo a los sig. Rangos

columnas B,C,D,E,F,H,I,J,K,L,M,N,O,P,Q,S,U,V,X,Y,Z,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AL,AM,AN,AQ,AR,AS,AU,AV,AW,AY,AZ,BA,BC hasta la BM. Ya que esos datos en esas columnas no las ocupo.

Y que elimine fila vacías de la fila "A"

En espera del apoyo

2 Respuestas

Respuesta
1

H o l a:

Te anexo la macro

Sub EliminarColumnas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Range("AB:AB,AC:AC,AD:AD,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AJ:AJ,AL:AL,AM:AM,AN:AN,AQ:AQ,AR:AR,AS:AS,AU:AU,AV:AV,AW:AW,AY:AY,AZ:AZ,BA:BA,BC:BM").Delete Shift:=xlToLeft
    Range("B:B,C:C,D:D,E:E,F:F,H:H,I:I,J:J,K:K,L:L,M:M,N:N,O:O,P:P,Q:Q,S:S,U:U,V:V,X:X,Y:Y,Z:Z").Delete Shift:=xlToLeft
    For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Cells(i, "A") = "" Then Rows(i).Delete
    Next
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

Si tienes columnas seguidas, por ejemplo B,C,D,E,F pueden quedar en un solo rango:

B:F

Te anexo en la siguiente macro las columnas continuas en rangos.

Sub EliminarColumnas2()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Range("B:F,H:Q,S:S,U:V,X:Z,AB:AJ,AL:AN,AQ:AS,AU:AW,AY:AZ,BA:BA,BC:BM").Delete Shift:=xlToLeft
    For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Cells(i, "A") = "" Then Rows(i).Delete
    Next
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

Si necesitas separar un rango, entonces te puedes guiar por la primera macro.


':)
':)
Respuesta
1

Me despista bastante la última frase de tu consulta, pero entiendo quieres eliminar una serie de columnas (las que indicas) enteras..

En ese caso esta macro te podría servir:

Sub ElimnarColumnas()
'Columnas a eliminar
matriz = Array("A", "D", "F")
nUltCol = Range("A1:K1").Columns.Count

For i = (nUltCol - 1) To 0 Step -1
For x = 0 To UBound(matriz)
NumCol = Cells(1, matriz(x)).Column
If i = NumCol Then
ActiveSheet.Columns(i).Delete Shift:=xlShiftToLeft
End If
Next x
Next i

End Sub

Espero te sirva...

OJO, la macro elimina la columna entera de las indicadas.

Saludos

P.D. Si te sirvió, por favor, no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas