Ir ao conteúdo
  • Cadastre-se

Auda com macro para banco de dados


peppejeh

Posts recomendados

Bom dia a todos.

Espero que alguém tenha a solução para o meu problema, já estou alguns dias pesquisando e ainda nao encontrei o que eu preciso.

Tenho uma "Tabela Mestre", onde vou formular o custo de um determinado produto. Nela vai ser listado todos os materias necessários para fabricação do produto que me darão o preço de custo e de venda. Criei uma Macro com nome de "Novo produto". Toda vez que clico no botao da macro, a tabela mestre é duplicada e abre uma caixa para eu inserir o código do novo produto, que será consequentemente o nome da guia também.

Depois que eu formulo o produto, criei outra macro com nome de "Finalizar produto".

Esta macro copia os dados do produto recém formulado (nome, código, uso, preço lojista e preço consumidor) e joga para uma outra tabela "BANCO" onde será o banco de dados. Detalhe: a macro esta programada para sempre copiar na proxima linha em branco da tabela, então toda vez que eu crio um poduto novo, eu finalizo e a macro vai listando na sequencia.

Este banco de dados será usado futuramente para a ficha de orçamento.

O problema é que, possivelmente terei que fazer ajustes em alguns produtos, na tabela que formulo o custo, gerando novos valores. Mas estes valores nao alteram no banco de dados, pois não consegui configurar a macro para copiar com vínculo.

Não estou conseguindo acertar este detalhe, pois não tem como colar com vínculo, uma vez que tenho que colar célula por célula dos dados. Pois ai eu teria que configurar a macro pra colar a cedula "1" para banco de dados, depois a cédula "2", e assim por diante, porém para fazer isto eu ja teria que configurar o nome das duas guias na macro, para ela ir e voltar de uma pra outra. Porém uma delas sempre será de nome desconhecido já que é uma guia recém duplicada para um novo produto.

Outra forma que pensei seria uma PROC. Aí a macro colaria na tabela de banco de dados apenas a cédula A1, e nas outra colunas ele buscaria por PROC, mas ai teria que ser feito uma busca em todas as guias existentes no documento, que tivessem a palavra que contpem na cédula "A1" da guia BANCO e retornar outro valor de uma cédula específica. E isso não sei como fazer.

Espero que tenha conseguido me expressar.

Coloquei em anexo o modelo da minha planilha, acho que se entrarem e seguirem os passos vão conseguir vizualizar o meu problema.

http://www.4shared.com/file/FDaB72dO/BANCO_DE_DADOS.html

Desde já, obrigado.

Link para o comentário
Compartilhar em outros sites

Tente isto:

O preço alterado emcomponentes altera automaticamente os preços dos produtos em suas planilhas. Faço uma macro para ler o banco e copiar os novos valores.

Sub Recalcular()

ContaLinha = 2

While Sheets("Banco").Range("A" & ContaLinha).Value <> Empty

NomePlanilha = Sheets("Banco").Range("A" & ContaLinha).Value

Endereco = Sheets("Banco").Range("A" & ContaLinha).Row

Sheets(NomePlanilha).Select

Range("B33:H33").Select

Selection.Copy

Sheets("BANCO").Select

Range("B" & Endereco).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

ContaLinha = ContaLinha + 1

Wend

End Sub

Veja se é por aí!!!!

Link para o comentário
Compartilhar em outros sites

Olá Márcio Rodrigues,

é por aí mesmo.

Esta sua macro já me ajudou, resolveu meu problema. Assim quando altero um componente na formula de produtos eu atualizo o banco de dados pela sua macro e fica tudo ok, sem repetir o produto.

Muito obrigado mesmo.

Já aproveitando então, vou fazer meis uma pergunta.

Teria como criar uma macro que, localizasse no banco, na cluna A, onde é o código do produto, e colocar um hyperlink para a guia que tiver o mesmo nome?

Desde já, agradeço novamente.

Link para o comentário
Compartilhar em outros sites

Tente isto:

A macro vai ler o banco e na coluna A & Linha do banco vai por um Hiperlink

Sub Hiperlink()

ContaLinha = 2

While Sheets("Banco").Range("A" & ContaLinha).Value <> Empty

NomePlanilha = Sheets("Banco").Range("A" & ContaLinha).Value

Sheets("Banco").Select

Range("A" & ContaLinha).Select

SubAddressHyper = NomePlanilha & "!" & Worksheets(NomePlanilha).Cells(1, 1).Address

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _

SubAddressHyper, TextToDisplay:=NomePlanilha

ContaLinha = ContaLinha + 1

Wend

End Sub

Link para o comentário
Compartilhar em outros sites

Olá Jeferson

Usei na planilha e funcionou perfeitamente. Da alguma mensagemde erro?

Execute a macro passo a passo (tecla F8) e verifique qual o endereço que está sendo gravado em na variavel:

SubAddressHyper = NomePlanilha & "!" & Worksheets(NomePlanilha).Cells(1, 1).Address

Link para o comentário
Compartilhar em outros sites

Boa tarde Márcio

Realmente, eu coloquei este código que você me forneceu, na tabela que eu disponibilizei para download, e ele funcionou corretamente...

Ele não esta funcionando numa outra tabela, que eu tenho aqui, que está mais completa... a que eu coloquei para download foi uma versão reduzida, com menos guias, para fins de explicar a minha duvida apenas.

Qual parte do código deve alterar para utiliza-lo com outro arquivo?

Não da nenhuma mensagem de erro não, ele executa a macro normalmente, e o nome da coluna A vira um hyperlink, porém quando vou acessá-lo, diz: "Esta referência não é valida".

Mas o nome das planilha estão tudo iguais as q eu te enviei, a unica diferença é que este arquivo tem mais informações, mais mais guias, com outras coisas.

Obrigado novamente

Abraço

Jeferson

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!