Prezados,
estou com dificuldades em inserir esta opção em um arquivo que trabalho. Não consigo anexá-lo aqui pois ele é bem extenso.
O arquivo eh da seguinte forma:
Tenho na primeira aba (Menu) um botão, que ao clicar ele me abre um formulário. Neste formulário, insiro um código numérico (NCM), clico no botão em um botão deste formulário "Inserir NCM", onde ele irá inserir este código dentro de uma lista dentro do próprio formulário ou avisar que aquele código não consta na planilha. Após, clicarei no botão "NACIONAIS" ou "IMPORTADOS". Neste caso meu teste é no botão nacionais.
Quando clicado, ocorre os seguintes procedimento:
Se a NCM estiver na planilha a execução é: abrir a aba nacionais com este código(NCM) filtrado.
Se a NCM não tiver sido inserida na lista a execução é um msgbox informando para inserir o código na lista.
Eu tenho uma lista de NCMs em outra aba e gostaria que, sempre que for alguma destas NCMs filtradas na aba nacionais, retornasse um MSGBOX informando que este é um código específico.
O botão NACIONAIS tem o seguinte código:
Private Sub Cb1_Click()
Dim LASAPASS As String
Dim lngUltColuna As Long
Dim intLinha As Integer
Dim Ws As Worksheet
Dim arCriterios As Variant
'DESPROTEGE PLANILHA
LASAPASS = Plan1.Range("A23").Value
Plan1.Unprotect LASAPASS
'INSERE O NCM NA PLANILHA
Plan1.Range("C11") = NCM.Value
'ESCONDE FORMULARIO
InserirNCM.Hide
'EXIBE RESULTADO DO NCM
'MsgBox Plan1.Range("C12"), , LASAPASS
'PROTEGE PLANILHA
Plan1.Protect LASAPASS
'OCULTA FORMULARIO
Unload Me
Application.ScreenUpdating = False
Plan1.Activate
Plan2.Visible = True
Plan6.Visible = True
Plan9.Visible = True
Application.ScreenUpdating = True
'Ultima coluna com dados
intLinha = Plan2.Cells(Rows.Count, 1).End(xlUp).Row
lngUltColuna = Plan2.Range("XFA3").End(xlToLeft).Column
LASAPASS = Plan1.Range("A23").Value
If NCMsSelecionadas.ListCount = 0 Then
Plan1.Activate
Plan2.Visible = False
Plan6.Visible = False
Plan9.Visible = False
MsgBox "Favor inserir uma NCM."
InserirNCM.Show
ActiveSheet.Range("C11").Select
Else
Application.ScreenUpdating = False
Plan2.Unprotect Password:=LASAPASS
Plan2.EnableAutoFilter = True
'Ultima coluna com dados
lngUltColuna = Plan2.Range("XFA3").End(xlToLeft).Column
'Plan2.Range("$A$3:$BF$1048576").AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("C11").Value
'Plan2.Cells(intLinha, lngUltColuna).AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("C11").Value
Plan2.Activate
'*****************************************************************
'APAGA TODOS OS DADOS ANTIGOS
PlanAuxNCM.Activate
PlanAuxNCM.Range(Rows(2), Rows(Rows.Count)).ClearContents
'FILTRAR TODOS OS REGISTROS SELECIONADOS 'NACIONAIS
ReDim arCriterios(0 To NCMsSelecionadas.ListCount - 1)
For i = 0 To NCMsSelecionadas.ListCount - 1
PlanAuxNCM.Cells(i + 2, 1) = NCMsSelecionadas.List(i)
arCriterios(i) = NCMsSelecionadas.List(i)
Next i
Names.Add "Criterios", "=AuxNCM!$A$1:$A$" & i + 1
'Plan2.Range("$A$3:" & Plan2.Cells(Rows.Count, lngUltColuna).Address(False, False)).AdvancedFilter xlFilterInPlace, Range("Criterios")
Plan2.Range("$A$3:" & Plan2.Cells(Rows.Count, lngUltColuna).Address(False, False)).AutoFilter 1, Criteria1:=arCriterios, Operator:=xlFilterValues
Plan2.Protect contents:=True, AllowInsertingHyperlinks:=True, UserInterFaceOnly:=False, AllowFiltering:=True, Password:=LASAPASS
'Plan5.Protect contents:=True, AllowInsertingHyperlinks:=True, UserInterFaceOnly:=False, AllowFiltering:=True, Password:=LASAPASS
Plan9.Protect contents:=True, AllowInsertingHyperlinks:=True, UserInterFaceOnly:=False, AllowFiltering:=True, Password:=LASAPASS
Application.ScreenUpdating = True
Plan2.Activate
Sheets("Nacionais").Select
Range("C3").Select
Else
Application.ScreenUpdating = False
Plan2.Unprotect Password:=LASAPASS
Plan2.EnableAutoFilter = True
'Ultima coluna com dados
lngUltColuna = Plan2.Range("XFA3").End(xlToLeft).Column
'Plan2.Range("$A$3:$BF$1048576").AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("C11").Value
'Plan2.Cells(intLinha, lngUltColuna).AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("C11").Value
Plan2.Activate
'*****************************************************************
'APAGA TODOS OS DADOS ANTIGOS
PlanAuxNCM.Activate
PlanAuxNCM.Range(Rows(2), Rows(Rows.Count)).ClearContents
'FILTRAR TODOS OS REGISTROS SELECIONADOS 'NACIONAIS
ReDim arCriterios(0 To NCMsSelecionadas.ListCount - 1)
For i = 0 To NCMsSelecionadas.ListCount - 1
PlanAuxNCM.Cells(i + 2, 1) = NCMsSelecionadas.List(i)
arCriterios(i) = NCMsSelecionadas.List(i)
Next i
Names.Add "Criterios", "=AuxNCM!$A$1:$A$" & i + 1
'Plan2.Range("$A$3:" & Plan2.Cells(Rows.Count, lngUltColuna).Address(False, False)).AdvancedFilter xlFilterInPlace, Range("Criterios")
Plan2.Range("$A$3:" & Plan2.Cells(Rows.Count, lngUltColuna).Address(False, False)).AutoFilter 1, Criteria1:=arCriterios, Operator:=xlFilterValues
Plan2.Protect contents:=True, AllowInsertingHyperlinks:=True, UserInterFaceOnly:=False, AllowFiltering:=True, Password:=LASAPASS
Plan9.Protect contents:=True, AllowInsertingHyperlinks:=True, UserInterFaceOnly:=False, AllowFiltering:=True, Password:=LASAPASS
Application.ScreenUpdating = True
Plan2.Activate
Sheets("Nacionais").Select
Range("C3").Select
End If
End If
End Sub
Postado : 25/01/2016 12:58 pm