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.
Por samuelsantos00
#35762
Olá amigos, boa tarde!

Alguém consegue me explicar como posso saber o ultimo eventos disparado em uma planilha?
Gostaria de testar no "Worksheet_Change" se o usuário deletou ou inseriu linha na planilha para em sequência disparar uma ação.

Obrigado!
Por osvaldomp
#35766
pesquisa via Google ~~~> vba registrar alterações feitas na planilha ~~~> retornou 147.000 resultados, alguns deles aí abaixo, veja se aproveita.

http://www.tomasvasquez.com.br/blog/mic ... -planilha/

https://www.aprenderexcel.com.br/2013/v ... a-no-excel

https://www.guiadoexcel.com.br/criando- ... -hora-vba/
Por samuelsantos00
#35787
Olá Osvaldo, na verdade eu gostaria de saber se o ultimo evento executado foi um inserção de linhas ou exclusão de linha para que assim possa executar uma sequência de códigos.
Os links acima informam como registrar a hora e quem faz alterações na planilha de qualquer forma muito obrigado! vou continuar esperando que alguém possa me ajudar
Por osvaldomp
#35800
Olá, Samuel.
Me parece que ainda não existe um evento nativo no Excel que seja disparado ao inserir/excluir linhas/colunas.
Segue abaixo uma ideia para testes. Veja se pode ser um ponto de partida.
Instale o código abaixo no módulo de uma planilha vazia.
Nessa planilha selecione uma célula, ex. H10, pinte a célula para facilitar a sua localização, na caixa na Caixa de nome (localizada logo acima da letra que identifica a coluna A) digite sapo e aperte Enter, dessa forma H10 ficará nomeada. Em I10 insira 10 e em J10 insira a fórmula =I10.
Aí, após inserir/excluir linha(s) acima do sapo, ele irá pular para baixo ou para cima e uma caixa de mensagem informará.
Código: Selecionar todos
Private Sub Worksheet_Calculate()
 Dim i As Long
  i = Range("sapo").Row - Range("sapo").Offset(, 1).Value
  If i < 0 Then MsgBox "linha(s) excluída)s) ~~~>  " & -i
  If i > 0 Then MsgBox "linha(s) inserida)s) ~~~>  " & i
  Application.EnableEvents = False
  Range("sapo").Offset(, 1).Value = Range("sapo").Row
  Application.EnableEvents = True
End Sub
Por outro lado, se você nos informar o que é "executar uma sequência de códigos" talvez alguém possa sugerir alternativas.
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