Página 1 de 1

Macro para calculo

Enviado: 27 Jul 2023 às 20:11
por SOUZADENILSON
Boa noite.
Volto novamente aqui para pedir uma ajuda dos mais experientes.
Tenho uma planilha que contém bem grande.
Utilizei uma macro da planilha anterior, porém ela ficou um pouco lenta.
Coloquei os dados em ordem crescente de código e depois por data. Inseri uma coluna utilizando a formula se , onde se o código for diferente ele retorna falso.
Ao rodar a macro onde tiver falso ele insere uma linha e coloca o numero zero na coluna I, e realiza o calculo. com a formula somente nas células vazias
Como faço para que esta macro realize este calculo sozinho e na coluna que contem a formula ele selecione depois copia e cola especial , somente valor e as linha que o numero zero foi incluido, sejam excluidos?
O fisico pegaria o salde anterior mais a entrada(se houver) - saida (Entrada e saida encontra-se na linha abaixo)

Re: Macro para calculo

Enviado: 28 Jul 2023 às 08:01
por osvaldomp
Olá, Souza.

Sugestão: deixe de lado a sua macro, fórmulas, ordenação, ... e anexe um novo arquivo contendo a planilha antes e a planilha depois de processada e coloque na própria planilha, de forma resumida, o que foi alterado e quais os critérios para as alterações.

A planilha deverá conter alguns dados representativos, no máximo 10 linhas com dados, e não congele painéis.

Re: Macro para calculo

Enviado: 28 Jul 2023 às 20:53
por SOUZADENILSON
Boa noite
Quando na planilha encontrar a palavra "Falso", insere uma linha em branco e adiciona o numero 0 (zero) na coluna "Fisico". e o calculo será realizado . A formula pega o fisico + entrada - saida.
A formula pegara somente a célula que estiver vazia. Depois que realizar o calculo seleciona toda a coluna "Fisico, copia e cola especial e exclui as linhas que foram inseridas o numero zero
Tem uma guia como o arquivo devera fica

Re: Macro para calculo

Enviado: 30 Jul 2023 às 16:09
por osvaldomp
Faça os testes com o código abaixo no arquivo do seu primeiro post acima. A única precondição é que a tabela esteja ordenada pelo número do CÓDIGO (coluna C), como já está no arquivo citado.
Não é necessária qualquer outra ação sua naquele arquivo para testar o código abaixo.

Após rodar o código, algumas células na coluna G apresentarão erro (#VALOR!), isso acontece porque na coluna E há algumas fórmulas que retornam vazio, exemplos: E177, E561, E762. Se essas fórmulas existem no seu arquivo original, então retorne que eu ajusto o código para não retornar o erro nesses casos.

Sub AtualizaFísico()
Dim k As Long, x As Long, LR As Long
LR = Cells(Rows.Count, 1).End(3).Row
For k = 2 To LR
x = Application.CountIf(Range(Cells(k, 3), Cells(LR, 3)), Cells(k, 3))
Cells(k, 7) = "=-RC[-1]+RC[-2]"
If x > 1 Then Cells(k + 1, 7).Resize(x - 1) = "=R[-1]C+RC[-2]-RC[-1]"
k = k + x - 1
Next k
Columns("G:G").Value = Columns("G:G").Value
End Sub

Re: Macro para calculo

Enviado: 30 Jul 2023 às 17:02
por SOUZADENILSON
Boa tarde. Realizei os teste, porém algumas celulas retornaram este simbolo #VALOR!

Re: Macro para calculo

Enviado: 30 Jul 2023 às 18:43
por osvaldomp
osvaldomp escreveu: 30 Jul 2023 às 16:09 Após rodar o código, algumas células na coluna G apresentarão erro (#VALOR!), isso acontece porque na coluna E há algumas fórmulas que retornam vazio, exemplos: E177, E561, E762. Se essas fórmulas existem no seu arquivo original, então retorne que eu ajusto o código para não retornar o erro nesses casos.
Você leu o meu post anterior ?

Re: Macro para calculo

Enviado: 30 Jul 2023 às 19:47
por SOUZADENILSON
Rodei novamente em uma planilha que coloquei no post, e não deu a mensagem de erro (#VALOR!).
Porém quando na coluna tiver a palavra acerto e na coluna g conter um valor a formula não pode alterar este numero

Re: Macro para calculo

Enviado: 30 Jul 2023 às 20:27
por osvaldomp
SOUZADENILSON escreveu: 30 Jul 2023 às 19:47 Porém quando na coluna tiver a palavra acerto e na coluna g conter um valor a formula não pode alterar este numero
Amigo, vou fazer uma última tentativa pra te ajudar.

"quando na coluna tiver a palavra acerto" ~~~> em qual coluna ??????????

"na coluna g conter um valor a formula não pode alterar este numero" ~~~> anexe um exemplo com o resultado desejado !

Re: Macro para calculo

Enviado: 30 Jul 2023 às 22:34
por SOUZADENILSON
Coluna B

Re: Macro para calculo

Enviado: 04 Ago 2023 às 20:42
por SOUZADENILSON
Boa noite.

A formula que utilizei anteriormente funcionou perfeitamente, da maneira desejada.
Porém após gerada tenho que manualmente na coluna que "G" e após selecionada, copiar e colar, para depois filtrar as linha em que foram inseridas zero excluir manualmente.

Sub InsereLinha()
Dim k As Long
k = Rows.Count
Application.ScreenUpdating = False
Do
k = Cells(k, 1).End(3).Row
If k = 1 Then Exit Do
Rows(k).Insert: Cells(k, "i") = 0
Loop
Range("i2:i" & Cells(Rows.Count, 2).End(3).Row).SpecialCells(4).FormulaR1C1 = "=SUM(R[-1]C,RC[-2],-RC[-1])"

End Sub