Notifications
Clear all

Pode-se criar um Range de uma Coluna inteira?

3 Posts
1 Usuários
0 Reactions
692 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

É possível eu criar um objeto Range de uma coluna inteira de uma planilha? Não estou me referindo a definir uma seleção de todas as células da coluna B, por exemplo, e definir essa seleção como meu objeto Range. O que eu quero saber é se existe algum método Range ou da coleção Worksheets para se criar um objeto Range de uma coluna inteira, ou seja, o método teria como parâmetro apenas a coluna. Isso é possível?

Luiz Roberto

 
Postado : 01/06/2011 1:48 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Luiz... não entendi exatamente o que pretende...

Explica, o que pretenderia executar (ou atribuir) com este "objeto"...

 
Postado : 01/06/2011 4:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Edson, eu estava com um problema e consegui resolver, mas ficou a curiosidade.

O tal objeto Range seria uma coluna inteira, por exemplo, a coluna "A". Eu iria acessar os dados através do índice dos elementos dessa coluna. Por exemplo, um valor registrado em "A2", seria referenciado pelo índice 2 do tal objeto Range, considerando Option Base = 1.

Na verdade eu queria criar uma forma de preencher dados de forma sucessiva nas linhas de uma coluna (A1, A2, A3, A4....An), onde uma rotina verificaria a próxima linha em branco de uma dada coluna para incluir dados. Por exemplo, se eu tivesse valores financeiros já gravados em A1, A2 e A3, a próxima linha em branco seria A4. Minha rotina preencheria, então, o próximo valor em A4 e depois em A5 e assim sucessivamente. Fiquei na dúvida no início em como fazer isso, pois não sou um expert em VBA Excel, mas apenas um esforçado autodidata.

Desenvolvi a seguinte rotina e gostaria de saber se você tem alguma alternativa melhor:

Worksheets("Plan1").Select
            
Range("A1").Activate
      
Do Until Cells(n, 1) = ""
            
   ActiveCell.Offset(1, 0).Select
   n = n + 1
                  
Loop
            
Cells(n, 1).Value = CCur(txtValor.text)

Luiz Roberto

 
Postado : 02/06/2011 6:16 am