Boa tarde, gostaria de tirar uma dúvida, como eu transfiro dados de uma tabela (ou na verdade a própria tabela) de uma aba para outra através de uma caixa de combinação.
Ou seja, gostaria de através da caixa de combinação, selecionar o cliente e assim aparecer para mim a tabela com todos os móveis comprados, valores, medidas, status, ou seja, a tabela criada em outra aba daquele cliente, e assim poder visualizar e editar de forma mais rápida pela escolha de cada cliente através da caixa de combinação.
Não sei se me fiz perceber, mas agradeço a atenção e agradeceria uma ajuda para isso.
Oi Sarah, tudo bem?
Montei um exemplo abaixo para ajudar.
Aba "base":
A | B | C | D | E | |
1 | Nome | Móvel | Valor | Medida | Status |
2 | João | Mesa | R$ 200 | 120x200cm | Finalizado |
3 | João | Cadeira | R$ 50 | 40x20x40cm | Em andamento |
4 | Maria | Mesa | R$ 200 | 120x200cm | Finalizado |
5 | José | Mesa | R$ 200 | 120x200cm | Em andamento |
Aba "consolidado":
A | B | C | D | E | |
1 | Nome | Móvel | Valor | Medida | Status |
2 | Mesa | R$ 200 | 120x200cm | Finalizado | |
3 | Cadeira | R$ 50 | 40x20x40cm | Em andamento |
O que você pode fazer:
Espero ter ajudado de alguma forma. Se ficou alguma dúvida, podemos marcar uma aula para montar juntos o exercício e te ajudo em outras possíveis dúvidas.
Abraços,
Luís.
Olá! Para fazer isso, você precisará usar uma função do Excel chamada "PROCV". Essa função permite buscar valores em uma tabela com base em uma referência, que no caso será o nome do cliente selecionado na caixa de combinação.
Para começar, crie a caixa de combinação e preencha com os nomes dos clientes. Em seguida, crie uma tabela na aba correspondente com todas as informações que você quer mostrar. A primeira coluna da tabela deve conter os nomes dos clientes.
Na aba onde você quer mostrar as informações, crie uma segunda caixa de combinação para selecionar o cliente. Em seguida, na célula onde você quer que a tabela apareça, use a função PROCV para buscar as informações na tabela.
A fórmula deve ter a seguinte estrutura: =PROCV(Célula_da_caixa_de_combinação_do_cliente;Tabela_de_informações;Número_da_coluna;0)
Onde:
Por exemplo, suponha que a tabela de informações comece na célula A1 e tenha as seguintes colunas: "Cliente", "Móvel", "Valor", "Medida", "Status". Se a caixa de combinação do cliente estiver na célula A2 e você quer mostrar as informações na célula A4, a fórmula seria: =PROCV(A2;$A$1:$E$100;2;0)
Nesse caso, a fórmula busca na tabela $A$1:$E$100 o valor da célula A2 (nome do cliente) na primeira coluna (coluna 1) e retorna o valor correspondente na segunda coluna (coluna 2).
Para transferir dados de uma tabela em uma aba para outra aba usando uma caixa de combinação, você pode seguir os seguintes passos:
Crie uma caixa de combinação na aba onde você deseja exibir os dados dos clientes. Para fazer isso, vá para a guia "Desenvolvedor" (se não estiver visível, você pode ativá-la nas opções do Excel) e clique em "Inserir" e, em seguida, escolha a opção "Caixa de Combinação" na seção "Controles de Formulário". Desenhe a caixa de combinação na célula desejada.
Em seguida, clique com o botão direito na caixa de combinação e selecione "Formatar Controle". Na guia "Controle", especifique a faixa de células que contém a lista de clientes para a caixa de combinação na seção "Entradas de Controle". Isso pode ser uma coluna com os nomes dos clientes em uma planilha específica.
Agora, você precisa definir uma fórmula ou um código VBA para transferir os dados da tabela de clientes correspondente para a outra aba.
a) Se você deseja usar apenas fórmulas do Excel, siga estes passos:
Na aba onde você deseja exibir os dados dos clientes, defina uma célula onde você deseja que a tabela de dados seja exibida.
Use uma fórmula como a função ÍNDICE combinada com a função CORRESP para procurar e exibir os dados correspondentes com base na seleção da caixa de combinação. A fórmula pode ser algo como: =ÍNDICE('Aba da Tabela'!$A$1:$D$100; CORRESP(A1; 'Aba da Tabela'!$A$1:$A$100; 0); 0) onde 'Aba da Tabela' é o nome da aba onde sua tabela de dados está localizada.
A célula com a fórmula será atualizada automaticamente de acordo com a seleção da caixa de combinação.
b) Se você estiver confortável em usar VBA (Visual Basic for Applications), pode escrever um código para transferir os dados da tabela de clientes para a outra aba. Você pode usar o evento "Change" da caixa de combinação para disparar o código VBA e atualizar a tabela de dados na outra aba com base na seleção. O código VBA pode ser algo como:
vba
Private Sub ComboBox1_Change()
Dim selectedClient As String
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim lastRow As Long
selectedClient = Me.ComboBox1.Value
Set sourceSheet = ThisWorkbook.Sheets("Aba da Tabela") ' Substitua pelo nome correto da aba onde está a tabela de dados
Set targetSheet = ThisWorkbook.Sheets("Aba de Destino") ' Substitua pelo nome correto da aba de destino
' Limpa os dados anteriores na aba de destino
targetSheet.Range("A2:D100").ClearContents
' Encontra o cliente selecionado na tabela de dados e transfere os dados correspondentes
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
sourceSheet.Range("A2:D" & lastRow).AutoFilter Field:=1, Criteria