Notifications
Clear all

VBA - F2 + ENTER

10 Posts
2 Usuários
0 Reactions
8,071 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigos, boa tarde.

meu caso é o seguinte:

Tenho auma planilha onde o cálculo esta manual (e precisa permanecer assim). =(
Cada linha tem uma fórmula diferente.
são 200.000 linhas.
o que preciso é um código que faça o que acontece quando eu aperto F2 e depois ENTER.
Ou seja, ele atualiza o resultado da fórmula daquela celula.

Eu tentei fazer gravando e depois fiz um loop mas não deu certo. Só daria se as fórmulas fossem iguais.

Alguém sabe como resolvo este caso ?

Muito obrigado por sua ajuda.

Abraçoooo

 
Postado : 19/12/2012 8:53 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Eu não entendi, você quer que as células com formulas só seja atualizadas após os comandos

F2 e depois ENTER.

??

Att

 
Postado : 19/12/2012 8:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

opa,

é que a planilha é imensa, se eu ponho cálculo automático, ela fica mais de uma hora atualizando.

como quero atualizar as fórmulas de uma só coluna, queria clicar na primeira célula desta coluna e ir dando F2+Enter até chegar na última celula que é a linha 200.000 mais ou menos.

sabe me ajudar ?

Eu aaté fiz mas só serve se as fórmulas de todas as linhas, seguirem um padrão.

valeu !

 
Postado : 19/12/2012 9:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Eu precisaria ver uma pequena parte de sua planilha. Pode ser um arquivo modelo compactado, com dados fictícios.

Porque você não substitui, as formulas pelo calculo do VBA??

Att

 
Postado : 19/12/2012 9:06 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre meu caro.

to enviando um expmplinho.
p colocar os cálculo no vba eu precisaria ter mais cochecimento de vba pq tem muito procv e somases.
meio grande a acoisa.

olha, veja que na coluna H, cada linha tem uma fórmula diferente.

muito obrigado aí pela atenção que esta dando ao meu caso.

valeu !

 
Postado : 19/12/2012 9:15 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Como você sabe a hora de somar, multiplicar, dividir, subtrai?
eu preciso entender essa logica.
Att

 
Postado : 19/12/2012 9:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

humm.

puxa, não há lógica. Na verdade há mas a fórmula é diferente nas primeiras 3000 linhas.
depois se repete por mais 3000 e assim vai até chegar na linha 200000.
Eu teria que fazer um códeio para estas 3000 ?

valeu !

 
Postado : 19/12/2012 10:59 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!
Deixe o calculo das formulas como manual
http://info.abril.com.br/dicas/arquivos ... 1203.shtml

CáLCULO MANUAL
Na área Opções de Cálculo, marque o item Manual se preferir atualizar todos os valores e, somente depois, solicitar o cálculo. Na segunda opção (Automático, Exceto Para Tabelas de Dados), o programa calcula todas as fórmulas menos as que estão em tabelas de dados. Tanto na opção manual como na automática com restrições é possível forçar o Excel a executar o cálculo pressionando Ctrl+F9. A opção Habilitar Cálculo Iterativo deve ser marcada somente quando é necessário o cálculo de referências circulares, ou seja, um cálculo que se refere a seu próprio valor.

Sub AleVBA_FormulasAuto()
Dim ws As Worksheet
Set ws = Plan1
ws.Cells.Replace what:="=", Replacement:="=", _
Lookat:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=fase, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

Veja modelo pronto em
http://www.sendspace.com/file/3io099

 
Postado : 19/12/2012 12:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Contribuindo.
Alem dos modelos do colega Eduardo; se quiser; experimente o codigo abaixo;

selecione uma celula da coluna que deseja "atualizar" e o execute

Sub atuali()
Dim lastRow As Long, X As Long, col As Long

col = Selection.Column
lastRow = Cells(Cells.Rows.Count, col).End(xlUp).Row

For X = 6 To lastRow
Cells(X, col).Select
mFormula = ActiveCell.FormulaLocal
ActiveCell.FormulaLocal = mFormula
Next
End Sub
 
Postado : 19/12/2012 1:49 pm
(@pimpao_ped)
Posts: 0
New Member
 

Funciona, mas é muito pesado, e pro computador utilizado aqui sem chance ... o coitado pediu arrego, quase tela azul da morte, msm assim obrigado muito util .

 
Postado : 31/05/2017 1:58 pm