Boa tarde!
Tenho uma planilha que contém dados de clientes. E criei uma macro para retirar da listagem de clientes, os que não pertencem aos estados selecionados em uma determinada célula do Excel.
A macro é a seguinte:
Sub limpaContatos()
'Variaveis para a Sheet Parametros
Dim contadorIni As Integer
Dim contadorFim As Integer
Dim rangeEstados As String
contadorFim = 33
'Set rangeEstados = Nothing
'Variaveis para a Sheet Dados
Dim ultimaDados As Integer
Dim contadorIniDados As Integer
Dim contadorFimDados As Integer
Dim rangeDados As String
'Set rangeDados = Nothing
contadorFimDados = Sheets("Dados").Range("A1048576").End(xlUp).Row 'Ultima linha preenchida
'Este FOR vai listar estados que vão ser utilizados
For contadorIni = 7 To contadorFim
rangeEstados = "L" & contadorIni
If Sheets("Parametros").Range(rangeEstados).Value <> "" Then
For contadorIniDados = 2 To contadorFimDados
rangeDados = "D" & contadorIniDados
If Sheets("Parametros").Range(rangeEstados).Value = Sheets("Dados").Range(rangeDados).Value Then
Range("A" & contadorIniDados & ":D" & contadorIniDados).Clear
End If
Next contadorIniDados
End If
Next contadorIni
MsgBox ("Passou por aqui")
End Sub
Pois bem, se eu executa-la diretamente do Microsoft Visual Basic for Application, ela faz exatamente o que está proposta a fazer. Porém, eu inclui em uma das pastas um botão de formulário (Também tentei com um Forma) e atribui a ele, chamar a macro limpaContatos. Mas nessa situação, ele não limpa as linhas as quais defini.
A planilha está em anexo. Na aba parametros, seleciono o estado e clico no botão. Ele deve fazer uma consulta ao banco e retirar da listagem vinda do banco, todos os clientes que não são daquele estado.
Desde já agradeço!
Postado : 25/11/2016 11:29 am