Ir para conteúdo

A partir do dia 19/11/2018, o foco do Fórum do BABOO é apenas Windows e Segurança Digital conforme informado no início de 2018.
As áreas que não têm relação com esses dois assuntos foram arquivadas e seus tópicos estão disponíveis para consulta na área Tópicos Antigos.

Thor Net007

RESPONDIDO código para colar apenas valores das células

Mensagem Recomendada

Boa tarde colegas, gostaria da ajuda de vcs para resolver algo que considero que seja uma falha no excel. Pq quando protejo a planilha, um ser pode simplesmente copiar e colar nas células não-bloqueadas, perdendo toda a formatação e a formatação condicional (não há um campo para proteger a formatação condicional, mesmo nas opções onde marcamos as permissões de usuário e coloquemos senha). Gostaria de um código não para impedir de copiar e colar, mas que permitisse apenas colar especial valores, que aí a formatação e condicional se manteriam.

Procurei na internet e o único que resolveu (quase) foi esse: 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    Target.PasteSpecial xlPasteValues
    Application.CutCopyMode = True
End Sub

O único defeito dele é que ele cola simplesmente ao clicarmos na célula, e não pela tecla de atalho. Tipo, num excel A, copio uns valores. Quando clico numa célula do excel B, ele automaticamente cola, não espera nem mesmo eu dar ctrl+v. Gostaria que colasse só quando eu dar ctrl+v. Tem como arrumar isso?

Editado por Thor Net007

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o "ser" puder ser treinado para aplicar duplo clique na célula destino, então substitua o seu código pelo código abaixo:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 On Error Resume Next
 Target.PasteSpecial xlPasteValues
 Application.CutCopyMode = True
 Cancel = True
End Sub

Para colar somente valores via Ctrl+v, cole o código abaixo em um módulo comum (menu Inserir / Módulo), em seguida aperte Alt+F8 / selecione ColaValorSomente / Opções / atribua a letra v

Sub ColaValorSomente()
 Selection.PasteSpecial Paste:=xlPasteValues
End Sub

obs. os dois códigos acima não excluem a possibilidade de o "ser" utilizar o botão direito para colar  :feliz-lingua:

 


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, osvaldomp disse:

Se o "ser" puder ser treinado para aplicar duplo clique na célula destino, então substitua o seu código pelo código abaixo:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 On Error Resume Next
 Target.PasteSpecial xlPasteValues
 Application.CutCopyMode = True
 Cancel = True
End Sub

Para colar somente valores via Ctrl+v, cole o código abaixo em um módulo comum (menu Inserir / Módulo), em seguida aperte Alt+F8 / selecione ColaValorSomente / Opções / atribua a letra v

Sub ColaValorSomente()
 Selection.PasteSpecial Paste:=xlPasteValues
End Sub

obs. os dois códigos acima não excluem a possibilidade de o "ser" utilizar o botão direito para colar  :feliz-lingua:

 

PERFEITO! Era isso mesmo que queria! Agora o ser (rsrs) não poderá desfazer a formatação! A propósito, não me atentei desse detalhe do botão direito. Tem como tirar? Ou permitir só colar valores?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível inibir também o botão direito com códigos, porém mais complexos. Comumente é preciso atuar no nível do aplicativo e não somente no nível da planilha, como o código que passei, então coloca-se um código para inibir ao abrir o arquivo e outro para resetar ao fechar, assim a inibição só atuará na sessão do Excel em que o arquivo estiver aberto.

Se você tiver interesse pesquise via sábio Google que provavelmente encontrará soluções.

Me parece que é possível desabilitar o botão via Windows. E também via braçal: corte o fio do botão ou dê uma martelada nele.

Como alternativa oriente o "ser" para não utilizar o botão direito. Se ele não se enquadrar use o martelo nele :feliz-lingua:


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×