Excluir linhas até uma determinada Coluna.
Enviado: 05 Out 2016 às 09:56
por diogeles
Sub OrganizarBase()
'
'EXCLUI AS LINHAS QUE TENHA O VALOR 0 ESTÃO FORA DE ORGANIZAÇÃO.
Const sColuna = "N" '<- Mude para adequar a seu caso
Dim lRow As Long
Dim lLast As Long
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
lLast = .Cells(.Rows.Count, sColuna).End(xlUp).Row
'Considerando uma linha de cabeçalho
For lRow = lLast To 2 Step -1
If .Cells(lRow, sColuna) = 0 Then .Rows(lRow).Delete
Next lRow
End With
O MACRO me atende perfeitamente, mas gostaria de saber se é possível ele excluir as linhas, mas só até uma determinada coluna. Exemplo quero que exclua as linhas até a colina "N" e não todas as colunas da planilha.
Re: Excluir linhas até uma determinada Coluna.
Enviado: 05 Out 2016 às 10:10
por alexandrevba
Bom dia!!
Tente assim.
No seu caso está verificando o total de células populadas em coluna N
Caso precisar altere conforme necessitar
Código: Selecionar todosSub AleVBA_3200()
Dim LR As Long, i As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = LR To 2 Step -1
If Range("N" & i).Value = 0 Then Rows(i).Delete
Next i
End Sub
Att
Re: Excluir linhas até uma determinada Coluna.
Enviado: 05 Out 2016 às 11:36
por diogeles
alexandrevba escreveu:Bom dia!!
Tente assim.
No seu caso está verificando o total de células populadas em coluna N
Caso precisar altere conforme necessitar
Código: Selecionar todosSub AleVBA_3200()
Dim LR As Long, i As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = LR To 2 Step -1
If Range("N" & i).Value = 0 Then Rows(i).Delete
Next i
End Sub
Att
Não consegui, vou enviar a planilha para que você veja.
Re: Excluir linhas até uma determinada Coluna.
Enviado: 05 Out 2016 às 13:20
por alexandrevba
Boa tarde!!
Lembre do Gravador de Macro
Código: Selecionar todosSub Macro1()
'
' Macro1 Macro
'
'
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFilter
Selection.AutoFilter
ActiveSheet.Range("$A$3:$X$19053").AutoFilter Field:=17, Criteria1:="0,00"
Range("A32").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ClearContents
ActiveSheet.ShowAllData
Range("A3:X3000").Select
ActiveWorkbook.Worksheets("Base-Pedidos").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Base-Pedidos").Sort.SortFields.Add Key:=Range( _
"Q4:Q19053"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Base-Pedidos").Sort
.SetRange Range("A3:X19053")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Agora é só editar a macro