Notifications
Clear all

Msgbox quando o valor inserido constar na coluna de outra ab

10 Posts
2 Usuários
0 Reactions
1,256 Visualizações
(@gpclouro)
Posts: 0
New Member
Topic starter
 

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
(@mprudencio)
Posts: 0
New Member
 

Faz um loop para percorrer a planilha e localizar o codigo.

E um tanto complexo fazer um codigo sem conhecer a estrutura da planilha.

Poste um arquivo de exemplo, com poucos dados de exemplo que nao precisam ser reais

O importante é a estrutura do arquivo assim fica facil adapatar seu codigo

 
Postado : 25/01/2016 1:17 pm
(@gpclouro)
Posts: 0
New Member
Topic starter
 

Fala amigo

reduzi a planilha...

A aba "plan1" é onde constam as NCMs que quando forem filtradas na aba nacionais deverão ter um alerta de msgbox...

Ve se dá para entender o arquivo...

Obrigado

 
Postado : 25/01/2016 1:49 pm
(@mprudencio)
Posts: 0
New Member
 

Nao entendi é para pegar os numeros que estao na plan1 e verificar se esta na aba nacionais, se nao estiver é para inserir automaticamente ou vai depender do usuario???

Se for para inserir automaticamente da pra fazer com formulas ou vba, for depender do usuario fazemos os testes pelo vba,

 
Postado : 25/01/2016 4:31 pm
(@gpclouro)
Posts: 0
New Member
Topic starter
 

Não MPrudencio

Estes números constam na aba nacionais!

É para fazer um msgbox informando um alerta sempre que um número da plan1 é selecionado e filtrado.

 
Postado : 26/01/2016 5:40 am
(@gpclouro)
Posts: 0
New Member
Topic starter
 

Muito complicado? Posso tentar melhorar a minha explicação se quiser!!

Desde já agradeço pela ajuda...

 
Postado : 26/01/2016 11:19 am
(@mprudencio)
Posts: 0
New Member
 

Continuo sem entender

Explica com um "caso real" um numero real

Tipo

Digitei o numero tal que esta em tal planilha e tem que fazer isso ou isso

 
Postado : 26/01/2016 4:38 pm
(@gpclouro)
Posts: 0
New Member
Topic starter
 

É exatamente assim.....

Ao digitar algum número listado na "plan1" deverá aparecer um msgbox "Atenção"

Qualquer coisa se quiser e puder, podemos nos falar pelo skype, mas mantendo as informações por aqui, até a resolução! Claro, se não for te atrapalhar em alguma coisa...

Obrigado mais uma vez pela atenção

 
Postado : 27/01/2016 5:42 am
(@mprudencio)
Posts: 0
New Member
 

Ainda ta meio confuso mas se eu entendi é algo proximo a isso que vc quer.

Digite o valor procurado e de enter esta no evento exit da text box

 
Postado : 27/01/2016 6:13 am
(@gpclouro)
Posts: 0
New Member
Topic starter
 

É mais ou menos isso sim amigo!!!

Eu já adaptei o código do jeito que preciso.... Me salvou... Muitíissimo obrigado!!!

Grande abraço

 
Postado : 27/01/2016 11:54 am