Notifications
Clear all

Guardar os nomes das colunas.

7 Posts
3 Usuários
0 Reactions
1,651 Visualizações
(@hugomoreda)
Posts: 34
Trusted Member
Topic starter
 

Buenos dias, amigos!

Como eu gravo o nome das colunas em uma variável auxiliar para cada nome?

coluna A coluna B coluna C

var1 = coluna A
var2 = coluna B
var3 = coluna C

Qual seria o dimensionamento(Dim) dessa variavel que guarda todos os nomes das colunas?

Obrigado!

 
Postado : 25/09/2014 7:38 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Eu não entendi muito bem, mas...veja se ajuda..

Sub AleVBA_13044()
    Dim sName As String

    sName = Range("A1")
    sName2 = Range("B1")
    sName3 = Range("C1")
    
    '[D2].Value = sName + sName2 + sName3
    
End Sub

Att

 
Postado : 25/09/2014 7:54 am
(@hugomoreda)
Posts: 34
Trusted Member
Topic starter
 

Ale,

Só que são 141 colunas. Escrevendo assim ficaria muito trabalhoso.
Estava pensando em um for que começasse gravando o nome da primeira coluna até o nome da coluna 141.

Entendeu?

 
Postado : 25/09/2014 8:03 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Buenos dias, amigos!

Como eu gravo o nome das colunas em uma variável auxiliar para cada nome?

coluna A coluna B coluna C

var1 = coluna A
var2 = coluna B
var3 = coluna C

Qual seria o dimensionamento(Dim) dessa variavel que guarda todos os nomes das colunas?

Obrigado!

Não entendi o que vc quer fazer, mas, se a ideia é escrever códigos, usando nomes (títulos das colunas da planilha) para facilitar, vc pode identificá-las pelo número mesmo, assim:

dim nome
dim sobrenome
dim telefone

nome = 1 '(1 pq a coluna A é a coluna 1)
sobrenome = 2 '(1 pq a coluna B é a coluna 2)
telefone = 3 '(1 pq a coluna C é a coluna 3)

depois, disso, use cells para referenciar, por exemplo, para pegar os valores da linha 3, ficaria:

cells(3, nome).value
cells(3, sobrenome).value
cells(3, telefone).value

Abs

 
Postado : 25/09/2014 8:07 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Ale,

Só que são 141 colunas. Escrevendo assim ficaria muito trabalhoso.
Estava pensando em um for que começasse gravando o nome da primeira coluna até o nome da coluna 141.

Entendeu?

Seria isso então?

Sub pegar_títulos()

Dim nomes() As String
Dim colunas As Long
Dim j       As Long

colunas = Cells(1, Columns.Count).End(xlToLeft).Column

ReDim nomes(1 To colunas)

For j = 1 To colunas
    nomes(j) = Cells(1, j).Value
Next j

End Sub
 
Postado : 25/09/2014 8:11 am
(@hugomoreda)
Posts: 34
Trusted Member
Topic starter
 

Amigo, tenho uma tabela com 141 colunas.

O que eu queria? Pegar o nome(String) de todas as colunas cituadas na linha 1.

Estou em dúvida quanto como fazer e sob qual tipo de variavel usar(Dim?)

Seria algo parecido com:

ultimacoluna = Cells(1, 500).End(xlToLeft).Column

For i = 1 To ultimacoluna
(grave em algum vetor o nome da cada coluna da minha tabela)

 
Postado : 25/09/2014 8:15 am
(@hugomoreda)
Posts: 34
Trusted Member
Topic starter
 

É isso gtsalikis. Perfeito!

 
Postado : 25/09/2014 8:22 am