Página 1 de 1

Restringir a abrangência de uma macro a apenas uma coluna

Enviado: 25 Jun 2018 às 10:30
por Victorzoomg1
Olá!

Estou usando a seguinte macro para marcar a célula de verde e copiar o conteúdo da mesma ao dar "Crtl+C". O problema é que essa macro roda em qualquer célula de qualquer planilha que esteja aberta, quando a planilha que contém a macro está aberta. Eu gostaria de restringir essa macro a apenas uma única coluna de apenas uma aba dessa planilha, e nas demais colunas o "Ctrl+C" continuar apenas copiando, sem marcar a célula de verde.

O código é esse abaixo. Desde já agradeço.

Sub Copiar_verde()
'
' Copiar_verde Macro
' Copia e marca a célula de verde
'
' Atalho do teclado: Ctrl+c
'


With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With


Selection.Copy


End Sub

Re: Restringir a abrangência de uma macro a apenas uma colun

Enviado: 25 Jun 2018 às 11:51
por babdallas
Um exemplo muito simples, só deixando pintar e copiar a coluna A. O codename da planilha (nome VBA da planilha) é wshTeste. Modifique para o seu e modifique também para a coluna que deseja.
Código: Selecionar todos
Sub PintarVerde()
    
    If Application.Intersect(Selection, wshTeste.Columns("A")) Is Nothing Then Exit Sub
    
    With Selection
        .Interior.Color = VBA.RGB(0, 176, 80)
        .Copy
    End With
    
End Sub

Restringir a abrangência de uma macro a apenas uma coluna

Enviado: 25 Jun 2018 às 13:24
por Victorzoomg1
Ótimo! Porém o ctrl+c deixou de funcionar em sua função original fora desse intervalo. Acho que eu estava querendo demais :roll:
Alterei o atalho da macro para ctrl+shift+c, assim o ctrl+c volta a apenas copiar e não dá conflito, e o ctrl+shift+c está copiando e marcando de verde apenas no intervalo que eu queria mesmo. Muitíssimo obrigado :D :D :D