VBA para valor da coluna "I" na linha da célula ativa

Anônima
2022-11-19T19:52:59+00:00

Boa noite,

tenho este código que identifica a célula ativa e envia o valor dessa célula para "I6". Com este código, consigo que me apareça em "I6" o valor da célula sempre que clico na coluna "I". Com a alteração dos valores que aparecem em "I6", as fotografias correspondentes dos alunos vão mudando. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Range("I6").Value = ActiveCell.Value
End Subimage.pngO problema aparece quando clico em qualquer outra célula da tabela ("I14:X43") fora desta coluna "I" onde estão os números dos alunos.Precisava que o código identificasse sempre a coluna "I" (I4:I43) da linha da célula ativa.Assim, sempre que estiver a lançar algum registo em alguma célula da tabela ("I14:X43"), o código irá identificar a coluna "I" dessa linha e o seu valor (número do aluno). Identificando o valor que se encontra na coluna "I" da linha da célula ativa, ela apareceria em "I6", tal como está nesta fórmula e ia alterando as fotografias dos alunos. Neste momento, acontece-me isto que está na imagem seguinte porque não consigo terminar este código.:

  • clico na tabela e não aparece nada em "I6" e quando escrevo um valor dentro da tabela, será esse valor que aparecerá em "I6" carregando uma fotografia que corresponde ao valor que foi registado/escrito e não ao número do aluno da linha onde me encontro. image.pngSerá que alguém me consegue ajudar, pff?Obrigado.Luis Lopes
Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

1 resposta

Classificar por: Mais útil
  1. Anônima
    2022-11-21T23:00:18+00:00

    Boa noite,

    neste momento tenho este código que funciona para o que eu pretendia.

    Dim x As String Dim y As Stringx = ActiveCell.Address(0, 0)y = WorksheetFunction.Replace(x, 1, 1, "=I")Range("I6").Value = y

    O problema é que só funciona até à coluna Z. Clicando depois dessa coluna, o código deixa de funcionar e começa a dar erro. Alguém consegue ajudar, sff?

    Obrigado.

    Luis Lopes

    Esta resposta foi útil?

    0 comentários Sem comentários