Olá, tudo bem? Me chamo Diogo Ribeiro, estudante e estagiário na Fafipar - Paranaguá.
Estou criando um sistema no excel para controle de espécies que faço triagem. No trajeto, me deparei com uma dificuldade ao puxar o valor da célula 'quantidade'. Usei a função 'Se', mas não sei como salvar apenas o resultado dessa função. Quando vou adicionar a quantidade de outra espécie, a espécie anterior zera e a atual pega o valor da 'quantidade'.
Diogo, bom dia!
Acredito que sua intenção seja criar um de banco de dados para cadastrar as espécies, salvando sempre o resultado anterior. Você pode criar uma aba específica para armazenamento de dados, e uma macro para alocar os próximos dados e ir salvando em posições sucessivas.
Caso não tenha experiência com macro, vamos agendar uma aula para falar sobre.
Com base na sua descrição, você parece estar procurando por um código que lide com alterações de célula em tempo real e atualize um controle de estoque. Aqui está um exemplo de código VBA para isso, embora deva ser ajustado de acordo com a disposição e a natureza do seu arquivo Excel.
Vou assumir que você tem uma coluna 'Espécie' e uma coluna 'Quantidade' onde você adiciona espécies e atualiza a quantidade. Quando a quantidade é atualizada, você deseja que a quantidade total para essa espécie seja atualizada. Para isso, você pode usar o evento `Worksheet_Change`.
```vba
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SpeciesRange As Range
Dim QuantityRange As Range
' Defina onde suas espécies e quantidades estão
Set SpeciesRange = Range("A:A") ' Substitua "A:A" pela coluna onde estão as espécies
Set QuantityRange = Range("B:B") ' Substitua "B:B" pela coluna onde estão as quantidades
If Not Intersect(Target, QuantityRange) Is Nothing Then
Dim Species As Range
Set Species = SpeciesRange.Cells(Target.Row)
Dim TotalQuantity As Range
Set TotalQuantity = Range("C" & Target.Row) ' Substitua "C" pela coluna onde você quer colocar a quantidade total para a espécie
' Atualiza a quantidade total para a espécie
TotalQuantity.Value = WorksheetFunction.SumIf(SpeciesRange, Species.Value, QuantityRange)
End If
End Sub
```
Esse código vai atualizar a quantidade total para uma espécie sempre que a quantidade for alterada.
Por favor, ajuste este código de acordo com a configuração do seu Excel. Ele deve ser colocado no módulo da planilha onde você está fazendo as alterações de quantidade. Para abrir o editor VBA, você pode pressionar Alt+F11. Para encontrar o módulo da planilha, você pode olhar no Project Explorer (normalmente no lado esquerdo do editor VBA) e encontrar a planilha sob 'Microsoft Excel Objects' para o arquivo Excel relevante.
Lembre-se de salvar seu arquivo Excel como 'Excel Macro-Enabled Workbook (*.xlsm)' para garantir que o código VBA seja salvo.
Bom dia!
O correto seria ver a estrutura de sua planilha.
Se o objetivo é ter uma soma (Total) de cada espécie, o ideal é você ter uma planilha "Entrada" onde os dados são inseridos.
Tabela Entrada
Data Coluna Especie Coluna Valores
01/01/2023 Aves 5
01/01/2023 Bovino 7
02/01/2023 Aves 9
E assim por diante......
Em outra planilha ou nessa mesmo, mas o ideial é que seja em outra
Tabela de resultados
Coluna Especie Coluna Total
Ave =somase(tabela entrada!coluna especie; celula dessa linha onde esta esse nome Ave; tabela entrada!coluna valores)
Bovino =somase(tabela entrada!coluna especie; celula dessa linha onde esta esse nome Bovino; tabela entrada!coluna valores)
Equinos =somase(tabela entrada!coluna especie; celula dessa linha onde esta esse nome Equinos; tabela entrada!coluna valores)
Veja que nessa tabela os nomes não se repetem.
E assim por diante.
Qualquer dúvida entre em contato. Contrata uma aula demonstrativa.
Abraço!
Fala Diogo, tudo bem?
Cara, pra ser sincero, sua dúvida não ficou TÃO clara assim. O que você coloca na célula 'quantidade'? Como está a sua planilha?
É importante entender o ambiente que você montou para conseguirmos resolver assertivamente.
Abraço