excel célula selecionada na coluna de alcance nomeado

0

Eu pensei que isso seria uma resposta simples, mas não consigo encontrar em nenhum lugar

Eu tenho uma macro com base na célula selecionada que é executada em um menu de contexto do botão direito do mouse.

Eu preciso obter o número da coluna com base em onde a célula está em um intervalo nomeado.

Exemplo Intervalo Nomeado = C4: H9 célula selecionada = E6 Valor que estou tentando obter é = 3

E, que é a quinta coluna - C, que é a terceira coluna + 1, porque o número da coluna não é baseado em 0.

Existe uma maneira fácil de fazer isso em uma linha como Intervalo ("namedRange"). ColumnDif (selectedCell)

    
por BrinkDaDrink 26.02.2016 / 18:13

1 resposta

0

Tente algo como

Dim namedRangeFirstCol: namedRangeFirstCol = Range("Test").Column
Dim namedRangeLastCol: namedRangeLastCol = namedRangeFirstCol + Range("Test").Columns.Count - 1

If Selection.Column >= namedRangeFirstCol And Selection.Column <= namedRangeLastCol Then
   MsgBox Selection.Column - Range("Test").Column + 1
End If

A instrução IF é apenas para verificar se a célula selecionada está realmente dentro do intervalo. Você pode precisar apenas de Selection.Column - Range("Test").Column + 1

    
por 26.02.2016 / 18:32