Notifications
Clear all

Busca de valores em outra Planilha

7 Posts
3 Usuários
0 Reactions
1,367 Visualizações
(@leandroxtr)
Posts: 0
New Member
Topic starter
 

Bom dia, pessoal!
Em minha pesquisa pelo fórum encontrei a solução que preciso, mas aplicando a "Validação de Dados" e essa solução não é interessante para mim neste momento.

Gostaria de saber se existe uma forma de retornar valores de outras planilhas a partir da seleção do nome dessa planilha pela Combobox. EX:

Na planilha Matriz existe uma ComboBox que deverá receber os nomes de todas as planilhas (Exceto o da Matriz), de forma que ao selecioná-la a SOMA dos valores correspondentes aos campos da Matriz sejam preenchidos.

Mais detalhamentos na planilha.

OBS: Na Planilha (Workbook) exemplo só tem 3 planilhas (WorkShets). Mas eu irei trabalhar com mais de 200 planilhas (WorkSheets). Portanto, se alguém tiver a solução, não se limite à 3 Planilhas (Worksheets).

Muito obrigado!
Vocês são 10

Qualquer dúvida, poste aí!

Abç

 
Postado : 18/05/2017 6:20 am
(@pfarias)
Posts: 0
New Member
 

Olá Leandro.

Para realizar esse procedimento siga os passos abaixo:

1. Link uma célula para retornar o valor do ComboBox.

2. Com o "Modo Design" ativo clique no combobox e depois na opção "Exibir Código" e na janela do VBE que irá aparecer, insira o algorítimo abaixo:

Option Explicit

'ATENÇÃO AO NOME DO COMBOBOX
'NESTE EXEMPLO O NOME DELE É ComboBox1
'ALTERE SE FOR NECESSÁRIO
Private Sub ComboBox1_DropButtonClick()

Dim Wks As Worksheet
Dim x As Integer
Dim PlanMatriz As String
Dim objComboBox As ComboBox

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'DECLARE AS VARIAVEIS
PlanMatriz = "Matriz" 'Nome da planilha que será ignorada
Set objComboBox = Sheets(PlanMatriz).ComboBox1  'O nome do ComboBox aqui é "ComboBox1"
                                                'Altere de acordo com a sua necessidade

'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
    
    
    'Remove todos os intens
    Do While objComboBox.ListCount > 0
        objComboBox.RemoveItem (0)
    Loop
    
    'Adiciona o nome de todas as planilhas, com exceção da planilha informada na variavel PLanMatrix
    For Each Wks In ThisWorkbook.Worksheets
        If Wks.Name <> PlanMatriz Then
            Sheets(PlanMatriz).ComboBox1.AddItem Wks.Name
        End If
    Next


End Sub

Em anexo segue o arquivo para exemplificar o que te passei.
ATENÇÃO AO NOME DO COMBOBOX QUE ESTÁ NO ALGORÍTIMO. O NOME USADO FOI ComboBox1. ALTERE O NOME PARA O QUE VOCÊ ESTÁ USANDO, CASO SEJA DIFERENTE.

Dúvidas é só avisar.

 
Postado : 18/05/2017 8:41 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

leandroxtr,

Boa tarde!

Segue uma outra sugestão.

 
Postado : 18/05/2017 10:52 am
(@leandroxtr)
Posts: 0
New Member
Topic starter
 

pfarias, muito obrigado pela colaboração, mas você não fez os vínculos que buscam os valores não né?

wagner, a sua ficou bem do jeito que eu gostaria também, mas ela não está fazendo exatamente o que eu precisava.

A que você fez está somando os valores do fornecedor "X" em todas as planilhas.

Eu estou precisando que ela some os valores do fornecedor "X" na mesma planilha. Ou seja, quando eu selecionar a planilha 002 e buscar o fornecedor 10, vai somar tudo que for do fornecedor 10 dentro da planilha 002(é um SOMASE do VBA), tanto valor bruto, quanto ICMS, em seu respectivo campo.

No exemplo que postei não tem repetição de fornecedor nas planilhas, talvez isso tenha te induzido à outra linha.

Outra coisa,

O valor do ICMS não soma com o outro valor. São itens independentes para o filtro.
Ex:
Seleciono "002" na combobox e digito fornecedor 15 na célula F10. Os valores retornados são:

Valor total = Dentro da planilha escolhida (002), somo, na coluna D (VALOR), todos os valores existentes que são referentes ao fornecedor 15.

Valor ICMS = Dentro da planilha escolhida (002), somo, na coluna E (ICMS 18%), todos os valores existentes que são referentes ao fornecedor 15 .

Veja se entendeu agora. Abç

 
Postado : 18/05/2017 11:23 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

leandroxtr,

Boa tarde!

Creio que entendi. De fato, como não havia fornecedor repetido em suas planilhas, fui induzido ao erro. Por isso é que falo aqui para todos que os dados dos arquivos de exemplo podem até ser fictícios, porém, que devem, ter o mesmo layout, formatação e disposição dos dados originais.

Bom... mudei um pouco a lógica (apenas quando o usuário desejar a soma de um fornecedor específico). Agora, após selecionar a ABA no combo, digitar o código do fornecedor na célula F10 e teclar enter é que o código para buscar os valores e o ICMS do fornecedor, naquela ABA será calculado.

Veja se é assim.

 
Postado : 19/05/2017 9:05 am
(@leandroxtr)
Posts: 0
New Member
Topic starter
 

Boa, wagner!
Ficou excelente!! È isso mesmo que precisava!!!
ABRAÇAAAAAAAAAAAAAO!! TU É O CARA!

Muito obrigado pela força!

 
Postado : 19/05/2017 10:38 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Não faltou.

No caso, a lógica quanto a soma do valor de todos os fornecedores continua a mesma anterior. Ou seja: Basta selecionar uma planilha no combo sem ter um número de fornecedor em F10.

 
Postado : 19/05/2017 10:54 am