Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Avatar do usuário
Por SOUZADENILSON
Posts Avatar
#73500
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)
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#73501
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.
Avatar do usuário
Por SOUZADENILSON
Posts Avatar
#73505
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
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#73507
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
Por osvaldomp
#73509
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 ?
Avatar do usuário
Por SOUZADENILSON
Posts Avatar
#73510
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
Por osvaldomp
#73511
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 !
Avatar do usuário
Por SOUZADENILSON
Posts Avatar
#73528
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord