Notifications
Clear all

Macro de entrada de dados.

7 Posts
1 Usuários
0 Reactions
1,882 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Prezados,

sempre gravo uma macro para cadastrar dados. Algo como um formulário simples.
Como sei muito pouco sobre VBA, gravo da seguinte maneira:
1º copio os dados da planilha de imput (os dados que eu quero cadastrar na minha base) e colo como valores em uma célula qualquer (pois os dados são fórmulas)
2º copio os valores colados e insiro na minha base como nova linha.

Minha pergunta é: como posso inserir as células copiadas já como valores? ou seja, sem precisar colar como valores em outro lugar.

Ademais, como faço para deixar isso automático de 5 em 5 min? ou seja, quero que a macro funcione automaticamente nesse intervalo de tempo.

Por último: tem como a macro rodar sem que a planilha seja aberta?

Segue uma planilha simples de exemplo sobre o que disse acima.

Abs.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2012 6:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!!

Como não posso baixar seu anexo ..segue

Para sua 1º pergunta você poderia fazer algo assim...

ActiveSheet.Range("A:X").Select
Selection.PasteSpecial xlPasteValues

Teste para ver se funciona.

Quanto a segunda ..

sub SuaMacro()
application.ontime now + timevalue ("00:00:05"), "SuaPlanilha"
end sub

Veja se vai dar certo, aproposito se necessario faça uma adaptação!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2012 9:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre,

não consegui implementar suas dicas.
na primeira, montei assim:
Sub Registrar()
'
' Registrar Macro
'
' Atalho do teclado: Ctrl+r
'
Range("K2").Select
Selection.ClearContents
Range("A2:D2").Select
Selection.Copy
ActiveSheet.Range("A:D").Select
Selection.PasteSpecial xlPasteValues
Sheets("Plan1").Select
Range("A2").Select
End Sub

e deu erro aki Selection.PasteSpecial xlPasteValues
Além disso, creio que essa forma apenas colaria como valores. Eu queria uma rotina que inserisse as células copiadas já como valores.

No segundo tópico, quando vc diz "sua planilha"
eu substituo pelo o q?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2012 11:40 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Se me permitem, uma opção

use
Sub Registrar()

Range("A2:D2").Select
Selection.Copy
Sheets("Plan2").Select
Range("A3").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Plan1").Select
Range("A2").Select

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2012 12:22 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Reinaldo,
Muito obrigado.

Era exatamente o que eu precisava.

fico no aguardo pra acertar a questão da automatização da macro com o tempo.

abs

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2012 12:39 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpe, não havia lido o post completo.
Pessoalmente, não gosto muito dessa "automação" por tempo, mas Veja este post em ozgrid.com:

http://www.ozgrid.com/Excel/run-macro-on-time.htm

Anexo seu exemplo como poderá ficar

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2012 2:25 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Reinaldo,

muito obrigado. Ajudou demais mesmo.

valeu xapa

abs

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/01/2012 8:36 am