Notifications
Clear all

Fórmula ou Macro, para edição de dados de um BD

12 Posts
1 Usuários
0 Reactions
1,674 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde pessoal,

Fiz uma planilha simplificada do que pretendo realmente fazer, mas creio que como exemplo serve.
É o seguinte, criei uma planilha com 3 abas, que servirá como banco de dados.

Na 1a. ABA (ENTRADA) tem um formulário (células imitando formulário) e um botão com MACRO, que ao acionado, copia os dados inseridos nos campos do formulário para a 2a. ABA (BD)

A 2a. ABA (BD) é o bando de dados propriamente dito, que contém 6 COLUNAS. mas notem que ao entrar com os dados na 1a. ABA, somente 3 destas 6 colunas são alimentadas.

Na 3a. ABA (EDIÇÃO) que contém tb um formulário (celulas imitando formulário), é onde, através da formula indice+corresp, chama-se o registro pelo seu N. de ordem e onde pretendo que sejam incluídos os dados complementares de cada registro, ou seja, as OUTRAS 3 colunas.

Então, pergunto, como fazer para, chamar o registro na ABA 3, e digitar os dados complementares, e estes dados irem para a aba BD, no respectivo registro chamado.

Agradeço, de antemão, a ajuda..

 
Postado : 05/03/2012 2:20 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!!

Veja se te ajuda.
Coloque dentro (no Editor VBA/Alt + F11), da planilha onde tem o segundo cadastro.

Faça os teste e retorne!!

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim matchRow As Long
     
    Select Case Target.Address
         
    Case "$E$9", "$E$11", "$E$13"
         
        matchRow = Application.Match(Me.Range("E3").Value, Worksheets("Base").Columns("A"), 0)
        Worksheets("Base").Cells(matchRow, Target.Row  2).Value = Target.Value
    End Select
End Sub
 
Postado : 05/03/2012 6:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Alexandrevba,

Obrigado por responder.

Inseri o codigo, mas nao sei como fazer para rodá-lo.
Obrigado.

 
Postado : 06/03/2012 7:59 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Não sei se vai te servi, seria mais um empurrão.

Após digitar os dados primários e secundário, o código automaticamente vai jogar os dados para sua base.
Obs: Dentro do Editor VB (Alt + F110, no lado esquerdo dê dois click's na planilha onde está o "form" de cadastro secundário.
Att..

 
Postado : 06/03/2012 8:17 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Alexandrevba,

Fiz conforme vc sugeriu, mas nao funcionou...

Será que tem outra solução para o que quero?

 
Postado : 06/03/2012 10:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

não consegue adaptar?

Você é obrigado a fazer as duas parte do cadastro?

Att..

 
Postado : 06/03/2012 10:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Na verdade Alexandrevba, os dados: apelido, mae e pai, usei apenas como um exemplo.

Os dados que serão realmente utilizados na planilha que estou fazendo são pra controle de cartório de protesto. Estes dados do 2o. formulário, só serão conhecidos 3 dias após feito o primeiro cadastro, por isso, o cadastro é composto de 2 partes, onde na primeira, vc inclui parte dos dados, e na segunda, vc complementa os dados, de acordo com o que aconteceu em cada caso, tipo se o titulo foi pago, se foi retirado, se foi sustado judicialmente ou se foi protestado.

 
Postado : 06/03/2012 1:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Segue uma opção (em seu arquivo)

 
Postado : 06/03/2012 1:55 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Reinaldo,

A complementação funcionou perfeitamente, mas a ENTRADA inicial dos dados deu pau, e gostaria que não aparecesse automaticamente o numero do próximo registro e a data atual nos campos respectivos, pq pode ser que o cadastro tenha que ser de um titulo antigo, e não de um vigente.

Gostaria, entretanto, de saber se tem como no formulário de complementação, CHAMAR o registro a ser completado, apenas digitando o seu número, ao invés de escolher o numero na COMBOX. É que o banco de dados terá mais de 20.000 registros, então imagino ser mais fácil digitar o numero, do que escolher na COMBOX.

Outra coisa: no meu modelo inicial, os registros eram incluídos na primeira linha do BD, e iam descendo à medida que fossem incluídos novos registros, agora vejo q estão classificados de forma crescente. Tal mudança é por necessidade ou apenas por opção mesmo?

E o mais importante, como vou usar esse procedimento em outra planilha, como foi que vc fez pra fazer essa COMPLEMENTAÇÃO dos dados?
Valeu pela ajuda.

 
Postado : 07/03/2012 7:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Para que a entrada de dados não traga o numero/data, basta deletar a rotina que esta em Plan1 (abra o editor VBE Alt+F11, dois cliques na plan1); ou digitar os valores desejados na celula (sobrepondo os valores sugeridos).

Para "chamar" o registro digitando, basta limpar a validação de dados que está na celula; selecione a celula, no menu superior -- Dados --Validação de dados e depois "limpar Tudo".
No modelo inicial, primeiro incluia-se uma linha no BD, depois copiava os dados das celulas de "Entrada" para a linha incluida, alterei para o modo padrãoi de inserção de dados, ou seja,novos dados "depois" da ultima linha preenchida. Se desejar, mantenha a rotina que já tem, porem com o aumento de registros tende a ficar um pouco mais lenta. Se o problema for a visualização, é possivel "ordenar" os dados inversamente apos a manutenção.
A "complementação" de dados foi efetuada pela rotina (macro)que está logo abaixo da macro que já existia em sua planilha, vc chegou a ve-lá?

 
Postado : 07/03/2012 11:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Reinaldo,

Valeu pelas dicas...
Consegui adaptar o código da macro para a minha planilha, que na verdade não é essa postada. Funcionou legal.

Muito obrigado a vc e ao Alexandrevba que se dispuseram prontamente a ajudar...

 
Postado : 08/03/2012 8:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Caso tenha esclarecido dúvida, favor marcar seu tópico como resolvido!!

At++++

 
Postado : 08/03/2012 12:36 pm