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.
  • Avatar do usuário
Por josepacheco
#4674
Boa noite. Como corrigir este código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("C6").Value = Range("A" & Right(Selection.Address, 2))
End Sub",
ele lê apenas os valores da coluna A, A1=1; A2=2, A3=3, A4=4, A5=5, aparecendo na célula "C6", os da coluna B, B1=6, B2=7, B3=8, B4=9, B5=10, ela não lê, e sim, continua lendo os da coluna A, assim contenha valores ou letras. Peguei este código na net. Não sei programar em VBA Excel. Ele fica limitado apenas à coluna A. Como remodelar esse código para que leia as coluna e linha habilitadas? Exemplo: A1:B5 ou A1:A10. Mas, poderá ser mudado com o acréscimo ou não de linhas ou colunas. Poderiam me ajudar?
Avatar do usuário
Por alexandrevba
Avatar
#4677
Boa noite!!!

Por favor leia as regras do fórum, o seu titulo não é sugestivo, na próxima postagem favor usar um post mais adequado e explicativo de acordo com a dúvida.

Quanto a sua dúvida, tente algo assim...

Não testado!!!
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng1 As Range, rng2 As Range
On Error GoTo MyError
    Set rng1 = Range("A1:A10")
    Set rng2 = Range("B1:B10")
    
    If Application.Intersect(Target, rng1) Is Nothing Then
        Range("C6").Value = Target.Value
        If Application.Intersect(Target, rng2) Is Nothing Then
            Range("C6").Value = Target.Value
        End If
    End If
MyError:
Err.Clear
End Sub
Att
Por josepacheco
#4684
AlexandreVBA, obrigado pelo código desenvolvido. Vou testar.
Por josepacheco
#4685
AlexandreVBA, testei o código, ele funcionou apenas com o intervalo B1:B10. Quando clico no intervalo A1:A10 o número já postado na C6 não se modifica. Mas, quando clico fora do intervalo "A1:A10 e B1B10" ele funciona "apaga", "sensacional". Como fazer que ele reconheça o intervalo A1:A10 e B1:B10. Mais uma vez, Muito grato.
Avatar do usuário
Por alexandrevba
Avatar
#4686
Bom dia!!

Eu não sei se é isso que vc deseja, eu não consigo testar, faça seus testes!
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng1 As Range, rng2 As Range
On Error GoTo MyError
    Set rng1 = Range("A1:B10")
    
    If Application.Intersect(Target, rng1) Is Nothing Then
        Range("C6").Value = Target.Value
    End If
MyError:
Err.Clear
End Sub
Att
Por josepacheco
#4690
AlexandreVBA, fiz um segundo teste modificando-o, ele funcionou. Fico muito agradecido pela ajuda. Coloquei este código em um bingo, algo amador.
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