Ola!
Tenho uma planilha formulário onde o usuario digita o codigo de produto e uma serie de informações na colunas seguintes, e gostaria de automatizar o processo, quando o usuário apagar códigos de produtos em um range na coluna "B", gostaria que as mesmas linhas das colunas subsequentes fossem apagadas automaticamente.
Tentei fazer o codigo por conta e cheguei ao seguinte resultado que funciona em partes:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim LINHA As Long
Dim A As Long
Dim B As Long
Set KeyCells = Range("$B$13:$D$100")
A = ActiveCell.Row
B = ActiveCell.Row + (Selection.Rows.Count - 1)
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
For LINHA = A To B
If Sheets("FORMULÁRIO").Range("B" & LINHA).Value = "" Then
Range("AG" & LINHA).Value = ""
Range("AP" & LINHA).Value = ""
Range("AX" & LINHA).Value = ""
Range("BM" & LINHA).Value = ""
Range("CH" & LINHA).Value = ""
Range("CN" & LINHA).Value = ""
End If
Next LINHA
End If
End Sub
Esse código só funciona quando o usuário seleciona o range da coluna de cima para baixo, exemplo:
Quando o usuario seleciona o range ao contrario ele apaga as linha erradas das colunas subsequentes, então eu precisava dar um jeito de fazer um verificação para saber de qual forma foi selecionado o range, e então poder inverter as formulas das variaveis.
Obrigado
Fui Util? Click na "Mãozinha" ali do lado >>>> e agradeça.
Postado : 14/01/2015 6:19 am