• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Racir

Seleccionar colunas no excel

9 mensagens neste tópico

Estou a tentar automatizar uma folha do Excel2007 e não consigo encontar maneira de resolver este problema:

Preciso de selecionar automaticamente um dado número de colunas e formatar a sua largura. Imagine-se que eu tenho uma inputbox que pergunta quantas colunas quero seleccionar. Em função dessa informação eu queria fazer range ("E:E+o nº que tinha introduzido na inputbox").select. Não consigo fazer com que ele seleccione a coluna final. Alguém me pode ajudar? Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Podes utilizar esta função que já tinha colocado aqui no fórum:

Function GetColumnLetter(rg As Range) As String
    Dim str() As String
    str = Split(rg.Address, "$")
    
    GetColumnLetter = str(1)
End Function

Depois podes fazer assim:

Sub Button1_Click()

    Dim result As Integer
    result = InputBox("Indicar qual a coluna")
    
    ' quatro porque é a letra é + o número inserido
    Columns("E:" & GetColumnLetter(Cells(1, 4 + result))).Select
  
End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado. Resolve o meu problema, claro que tenho de compreender porque o faz mas isso fica para quando tiver mais tempo. Muito obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não é incomodar muito podes dizer-me como é que eu consigo saber qual o nome da coluna final depois de as ter seleccionado?

É que precisava depois de seleccionar tipo Range("E8: a tal coluna 20"). É possível?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

GetColumnLetter(Cells(1, 4 + result)) dá-te o nome da coluna !!!

Experimenta fazer:

Msgbox(GetColumnLetter(Cells(1, 4 + result)))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde

E se quiser formatar as células do tipo Range(E8: até à tal coluna que obtenho pela informação que obtive anteriormente). Já tentei várias formas  e não reconhece nada. Será que podes dar uma "mão"? Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde

E se quiser formatar as células do tipo Range(E8: até à tal coluna que obtenho pela informação que obtive anteriormente). Já tentei várias formas  e não reconhece nada. Será que podes dar uma "mão"? Obrigado.

Não estou a entender. Mostra lá o que tens e explica melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resolvido. Foi um problema com os nomes das variáveis. O que eu queria fazer era isto:

Um inputbox a perguntar quantas questões tinha o teste, depois iniciar a formatação das células correspondentes ao número de questões.

Se o nome da 1ª questão for colocado em E8 e o teste tiver 3 questões eu pretendia formatar as células E8,F8 e G8. Acho que já consegui. Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora