Amigos, estou tentando estudar um pouco de VBA, indo aos poucos, e mexendo numa planilha fictícia onde vou implementando funções.
Encontrei o código abaixo, o qual destaca a célula ativa em amarelo, e retira a formatação ao selecionar outra célula.
Option Explicit
Public celAnt As String
Public corAnt As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
On Error Resume Next
If celAnt = "" Then
celAnt = Range("A2").Value
corAnt = Range("A1").Value
Range(celAnt).Interior.ColorIndex = corAnt
corAnt = Target.Interior.ColorIndex
Range("A1").Value = corAnt
Target.Interior.Color = vbYellow
celAnt = Target.Address
Range("A2").Value = celAnt
Else
Range(celAnt).Interior.ColorIndex = corAnt
corAnt = Target.Interior.ColorIndex
Range("A1").Value = corAnt
Target.Interior.Color = vbYellow
celAnt = Target.Address
Range("A2").Value = celAnt
End If
End Sub
Fonte
Eu consegui adaptar o código para que, em vez de formatar a célula, digite algo nela. Porém, eu queria limitar o campo de ação, somente sendo possível executar se a nova célula for adjacente à célula atual, por exemplo:
Se eu estiver na célula C3:
O código só vai executar se eu tentar clicar nas células B2, B3, B4, C2, C4, E2, E3, E4 (só ao redor).
Então, estou tentando entendr o código para tentar usar o comando offset, mas não consigo.
Alguém poderia me explicar o que as linhas desse código representam?
Grato
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 19/06/2013 2:40 pm