Pessoal, boa tarde! Sou novo no fórum, já procurei muito, mas não encontrei solução para meu problema. Preciso apagar linhas de uma planilha, onde alguns dados se repetem (Nº do Pedido, p. ex.). Ocorre que eu gostaria de exibir uma mensagem caso o Nº não seja encontrado, e outra quando os Nºs fossem excluídos.
Alguém pode me ajudar? Segue o código que escrevi. Grato.
Sub Botão4_Clique()
Dim EncontraString As String
Dim Rng As Range
Dim i As Integer
Dim n As Integer
n = 15
i = 1
EncontraString = InputBox("Qual o pedido que você quer cancelar?", "CANCELAR PEDIDO", "", 12000, 5000)
If Trim(EncontraString) <> "" Then
With Sheets("CadPedido").Range("B:B")
On Error GoTo TratarErro
Do While i <= n
Set Rng = .Find(What:=EncontraString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng, True
Application.ScreenUpdating = False
Selection.EntireRow.ClearContents
End If
i = i + 1
Loop
TratarErro:
MsgBox "Pedido Não Encontrado."
Exit Do
Application.ScreenUpdating = False
Range("B15:H20000").Select
ActiveWorkbook.Worksheets("CadPedido").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("CadPedido").Sort.SortFields.Add Key:=Range( _
"B15:B20000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("CadPedido").Sort.SortFields.Add Key:=Range( _
"C15:C20000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("CadPedido").Sort
.SetRange Range("A15:H20000")
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.RefreshAll
Application.ScreenUpdating = True
Range("B1048576").End(xlUp).Offset(1, 0).Select
MsgBox "O Pedido " & EncontraString & " foi cancelado."
End With
End If
End Sub
Postado : 30/04/2016 9:51 am