Ir ao conteúdo
  • Cadastre-se

Armazenar Valor no Excel, mesmo depois que os precedentes da formula foi alterado


wesleymzz

Posts recomendados

Boa tarde,

Preciso montar um banco de dados enorme unicamente usando dados de entrada no excel.

Por exemplo,

gostaria de entrar com o argumento CASA no PLAN1 e que esse argumento fosse armazenado na célula A1 do PLAN2 mesmo que por algum motivo eu exclua CASA do PLAN1.. E quando eu entrasse com ARVORE, gostaria que fosse armazenado na célula A2.. E assim sucessivamente! e se fosse possível também, cada vez que eu entrasse com uma palavra repetida no PLAN1, ela fosse ignorada no PLAN2.

Não sei se existe uma função que faça algo do tipo, mas se houver desde já eu agradeço a ajuda!

OBRIGADO

Link para o comentário
Compartilhar em outros sites

Não tenho familiaridade com macros, tenho noção de linguagem de programação e talvez isso ajude!

aqui está a planilha

http://www.4shared.com/file/a5DhgVjb/BANCO-DADOS.html?

essa planilha é aberta toda vez que faço um pedido para um fornecedor.

toda vez que eu abri-la vou mudar os itens que estão nela e salvar com outro nome, o que iria me permitir estar sempre atualizando meu banco de dados no PLAN2.

Link para o comentário
Compartilhar em outros sites

É exatamente isso que eu precisava, muito obrigado mesmo!

Vai ser muito útil, vou precisar implementar umas coisinhas nela! por exemplo, para o mesmo código da empresa eu posso ter dois ou três fornecedores. Não sei se é uma tarefa fácil resolver isso, colocando os dados de cada fornecedor diferente do primeiro (que foi alocado) em colunas subsequentes (que estejam nomeadas) e que por meio de uma referencia de entrada eu consiga alocar o novo codigo nessa coluna nomeada todas as vezes que eu entrar com um código da empresa já armazenado, porém com um código de fornecedor diferente. Não sei se é uma tarefa fácil para voce me ajudar com isso tambem, ou pelo menos me dar uma diretriz! Talvez eu esteja tentando o impossivel, não sei! Mas se isso te parecer possivel e se voce tiver uma apostila de macro bem didática pra eu aprender algumas noçoes e tente implementar essas fuções, eu agradeceria NOVAMENTE!

Sua ajuda ja fopi de grande valia até aqui, valeu mesmo!!

Link para o comentário
Compartilhar em outros sites

Vamos ver se entendi: se um mesmo código possuir mais de um fornecedor, não seja apagado. É isso?

Se for, substitua aquele código por este abaixo. Usei a coluna C como apoio, mas pode ser qualquer outra.

Sub BancoDados()
Application.ScreenUpdating = False

Dim lin As Long
lin = Cells(Rows.Count, 2).End(xlUp).Row

'copia os dados para banco de dados
Range(Cells(2, 2), Cells(lin, 3)).Copy
Sheets("BDADOS").Select
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial

'cria-se uma coluna de apoio concatenando A e B
For j = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(j, "C") = Cells(j, 1) & Cells(j, 2)
Next

'verifica duplicidade
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If WorksheetFunction.CountIf(Columns("C:C"), Cells(i, 1).Value) > 1 Then
Cells(i, 1).EntireRow.Delete
End If
Next

'apaga a coluna de apoio
Columns("C:C").ClearContents

Sheets("PEDIDO").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Link para o comentário
Compartilhar em outros sites

Eu tentei usar esse codigo mas a duplicidade nao deu certo!! Ele só fica armazenando tudo,

para explicar melhor eu fiz essa planilha com 4 abas simulando os seguintes passos:

PEDIDO1>ARMAZENAR>BDADOS1

PEDIDO2>ARMAZENAR>BDADOS2

http://www.4shared.com/file/aRXHjp-b/BANCO-DADOS_2.html?

Veja que o pedido2 são os mesmos produtos porém em um fornecedor diferente(ou seja, codigo do fornecedor diferente), e o que aconteceu foi o codigo do fornecedor 2 ser armazenado em uma coluna fornecedor 2 (nomeada previamente)

OBS: no meu casso aqui eu só terei no maximo 4 fornecedores para um mesmo produto

obrigado

Link para o comentário
Compartilhar em outros sites

Desculpe, faltou trocar um número (1 para 3, em vermelho).

Planilha:

http://www.sendspace.com/file/e6e59t

Sub BancoDados()
Application.ScreenUpdating = False

Dim lin As Long
lin = Cells(Rows.Count, 2).End(xlUp).Row

'copia os dados para banco de dados
Range(Cells(2, 2), Cells(lin, 3)).Copy
Sheets("BDADOS").Select
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial

'cria-se uma coluna de apoio concatenando A e B
For j = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(j, "C") = Cells(j, 1) & Cells(j, 2)
Next

'verifica duplicidade
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If WorksheetFunction.CountIf(Columns("C:C"), Cells(i, [COLOR="Red"]3[/COLOR]).Value) > 1 Then
Cells(i, 1).EntireRow.Delete
End If
Next

'apaga a coluna de apoio
Columns("C:C").ClearContents

Sheets("PEDIDO").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Link para o comentário
Compartilhar em outros sites

Essa coluna de apoio foi uma otima saída!

esse banco de dados sera usado com um PROCV, logo eu preciso que ele armazene em uma mesma linha

se for possivel de uma olhada nessa planilha

http://www.4shared.com/file/aRXHjp-b...-DADOS_2.html?

veja que agora existe um dado de entrada para o fornecedor (e.g: 1 ou 2)

voce acha que é possivel usar esse dado de entrada para alocar o codigo do fornecedor na coluna correspondente?

para explicar melhor essa planilha foi feita com 4 abas simulando os seguintes passos:

PEDIDO1>ARMAZENAR>BDADOS1

PEDIDO2>ARMAZENAR>BDADOS2

Link para o comentário
Compartilhar em outros sites

Agora você mudou o layout da planilha! O código tem que ser alterado para se adaptar a esse novo caso.

Do jeito que fiz, você pode organizar em ordem crescente que os códigos repetidos ficarão pareados.

Desta forma você pode usar as dicas do mestre Osvaldo neste tópico:

http://forum.clubedohardware.com.br/resolvido-dados-repetidos/1104436

Tente adaptar no seu código.

Abraços.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...