- Este tópico contém 4 respostas, 2 utilizadores e foi actualizado pela última vez há 11 anos, 8 meses por Anónimo.
-
AutorArtigos
-
-
3 de Agosto de 2012 às 17:37 #1119AnónimoInactivo
boa tarde galerinha!
estou tentando criar uma condição para não excluir determinada linha do excel.
primeiramente defini um nome a uma determinada linha (ex. rows(“10:10”), nome: linhapadraoa). ao qual não pode ser excluida nunca.
depois criei uma macro para excluir a linha da celula selecionada, acrescentado de uma condição de pergunta, para ter certeza se deseja excluir item selecionado.
__________________________________________________sub excluir_1()
application.screenupdating = false
dim testmsg as integer
testmsg = msgbox(“deseja excluir a linha indicada?”, 1 + 32 + 0 + 4096, “wagner goularte”)
if testmsg = 1 thenif activecell.entirerow.select = linhapadraoa then
msgbox “linha não pode ser excluida!!”, , “wagner goularte”
exit sub
end ifactivecell.select
selection.entirerow.delete
msgbox “itens excluído”, , “wagner goularte”else
exit sub
end ifapplication.screenupdating = true
end sub
________________________________________________entenderam? alguem pode me ajudar?
att.
wagner goularte -
3 de Agosto de 2012 às 22:40 #1899jorgerodAdministrador
wagner,
e se a linha a apagar for por exemplo, a 9? desse modo, a tua linha 10, não passará para 9?
se fosse a primeira linha, eu perceberia que não poderia ser nunca apagada, porque, acima dela, não haveria mais nenhuma. agora, da forma como referes…
de qualquer modo, podes tentar adaptar este módulo, embora ache a dinâmica um pouco difícil…
option explicit
private sub workbook_sheetchange(byval sh as object, byval target as range)
dim linhapadrao
linhapadrao = 1
if target.row = linhapadrao then ‘ supondo que a tua linha é esta…
with application
.enableevents = false
.undo
msgbox “não é possível apagar esta linha!!!!”, 16
.enableevents = true
end withelse
exit sub
end if
end sub
-
6 de Agosto de 2012 às 10:30 #1900AnónimoInactivo
bom dia jorge!
então, por isso eu dei nome a linha, para que mesmo se linhas acima ou abaixo forem excluidas, ela continuará sempre com o mesmo nome. entendeu?
não consegui adaptar a programação descrita por vc.
estou encaminhando o arquivo para que tente me ajudar. tudo bem?
veras que as linhas que não posso excluir estão nomeadas por linhapadraoa, linhapadraob, linhapadraoc.
fico no aguardo…
att.
wagner goularte
Excluirlinhacondio.zip -
9 de Agosto de 2012 às 16:49 #1901AnónimoInactivo
boa tarde!
ninguém consegue me ajudar?
estou no aguardo..
att.
wagner goularte -
29 de Agosto de 2012 às 13:35 #1120AnónimoInactivo
bom dia galerinha !!!
enfim, consegui resolver meu problema .. com ajuda de um amigo …
segue macro:
sub excluir_1()
application.screenupdating = false
dim testmsg as integer
testmsg = msgbox(“deseja excluir a linha indicada?”, 1 + 32 + 0 + 4096, “wagner goularte”)
if testmsg = 1 then
select case activecell.row
case range(“linhapadraoa”).row, range(“linhapadraob”).row, range(“linhapadraoc”).row
‘aqui você pode agir de várias maneiras
‘pode exibir uma mensagem dizendo que esta linha não pode ser excluída:
msgbox “esta linha não pode ser excluída !!!”, vbexclamation‘ou pode deletar apenas o seu conteúdo
activecell.entirerow.clearcontents
case else
activecell.entirerow.delete
end select
end ifapplication.screenupdating = true
end sub
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.