Armazenar em variável linha e coluna duma posição específica

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Armazenar em variável linha e coluna duma posição específica

Mensagempor RAMZERO » Qua Abr 10, 2019 8:56 am

Olá pessoal

Alguém sabe se existe uma forma de armazenar em uma variável a coluna e a linha de uma célula que está sendo exibida na tela no canto superior esquerdo?

Exemplo:

Quando abre o Excel a tela padrão exibe sempre a célula A1 no canto superior esquerdo, então a variável deveria valer coluna 1, linha 1

O que quero é que se eu mover as barras de rolagem a variável passe a valer a coluna e a linha correspondente a essa posição

Ou seja se eu der dois toques para a direita e um para baixo, a célula exibida no canto superior esquerdo seria a C2 e a variável passaria a valer coluna 3, linha 2

Mas sem precisar posicionar o cursor na célula

Obrigado
RAMZERO
Membro
Membro
 
Mensagens: 154
Registrado em: Sex Out 06, 2017 3:54 pm
Has thanked: 82 times
Have thanks: 3 times

{ SO_SELECT }

Re: Armazenar em variável linha e coluna duma posição especí

Mensagempor wagner » Qua Abr 10, 2019 9:13 am

RAMZERO,

Bom dia!

Essa variável que você quer já existe dentro do evento Worksheet_SelectionChange da aba. É a variável Target. Veja, no pequeno exemplo abaixo.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5349
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 94 times
Have thanks: 2277 times

Re: Armazenar em variável linha e coluna duma posição especí

Mensagempor RAMZERO » Sex Abr 12, 2019 8:00 am

Fala wagner

Acho que eu não fui claro no pedido

Não quero ter que selecionar a célula pra ela armazenar os valores de linha e coluna (não quero usar o Selection)

Mas sim quero, apenas movendo a planilha, usando SOMENTE AS BARRAS DE ROLAGEM para que me mostre qual é a linha e coluna exibida no momento no canto superior esquerdo

Tentei fazer isso, mas não entendo a sintaxe correta pra funcionar:

Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then

Range("G18").Value = ActiveWindow.SmallScroll Down:=15

End Sub


Seria assim, ao mover a rodinha do mouse pra baixo ou pra cima G18 recebe o valor de quantas linhas foram deslocadas

Obrigado
RAMZERO
Membro
Membro
 
Mensagens: 154
Registrado em: Sex Out 06, 2017 3:54 pm
Has thanked: 82 times
Have thanks: 3 times

Re: Armazenar em variável linha e coluna duma posição especí

Mensagempor wagner » Sex Abr 12, 2019 10:40 am

RAMZERO,

Bom dia!

Deve ter um modo de fazer isso que você quer sim. Todavia, se tiver, é com a utilização das API's do Windows ou com módulos de classe, pois não existe, nas planilhas, um evento que seja disparado quando se aciona a bolinha do mouse que faz a tela rolar para cima ou para baixo. O Evento SelectionChange não pode ser utilizado para isso.

Assim que você abre uma planilha, a célula A1 está selecionada. Se você não fizer nada na planilha e apenas acionar a bolinha do mouse para cima ou para baixo, não há nem seleção de outras células. O cursor vai continuar em A1. Apenas a ação do mouse vai rolar a tela para cima ou para baixo. o Cursor ou a célula selecionada vai continuar em A1.

Acredito que tem muito conhecimento na utilização das API's ou com módulos de classe possa lhe ajudar com essa demanda.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5349
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 94 times
Have thanks: 2277 times

Re: Armazenar em variável linha e coluna duma posição especí

Mensagempor RAMZERO » Seg Abr 15, 2019 8:59 pm

Obrigado wagner

Tenho a impressão que é acertar a mão na sintaxe, pois quando mando gravar macro e movo as barras de rolagem ou a rodinha do mouse (botão do meio) os valores vão se alterando no vba

Alguém mais poderia me ajudar?
RAMZERO
Membro
Membro
 
Mensagens: 154
Registrado em: Sex Out 06, 2017 3:54 pm
Has thanked: 82 times
Have thanks: 3 times

Re: Armazenar em variável linha e coluna duma posição especí

Mensagempor klarc28 » Ter Abr 16, 2019 2:26 pm

Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then

Range("G18").Value = ActiveWindow.SmallScroll Down:=15

end if

End Sub
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.
klarc28
Membro
Membro
 
Mensagens: 1085
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 24 times
Have thanks: 451 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google [Bot], rlm e 5 visitantes