Página 1 de 1

[RESOLVIDO] Encontrar número da coluna pelo nome do cabeçalho dela - VBA

Enviado: 28 Jun 2022 às 16:30
por AndreaCamila
Pessoal, boa tarde!

Estou criando uma macro que faz consultas através de alguns links. Quero coletar somente algumas colunas dessas consultas, pois somente elas são comuns. Por exemplo:

1 º Consulta: DATA | ATIVIDADE | RESPONSÁVEL
2º Consulta: ESTADO | DATA | ATIVIDADE | RESPONSÁVEL | COMENTÁRIOS
3º Consulta: ESTADO | TIPO DE CLIENTE | DATA | CENTRAL | RESPONSÁVEL| ATIVIDADE

A questão é que eu não sei em qual coluna vai estar "DATA".

Estava pensando em algo como:

Sub Copiar ()
'Identificar linha e colunas para seleção
Lin = Worksheets("XLM").Range("A1048576").End(xlUp).Row
Col = "procure pela palavra "DATA" grave somente letra da coluna"

'Copiar e Colar
Sheets("XLM").Range("A1:" Col & Lin).Copy
Sheets("BASE").Range("A" & Lin3 + 1).PasteSpecial

End Sub


Poderiam me ajudar? :D

Re: Encontrar número da coluna pelo nome do cabeçalho dela - VBA

Enviado: 28 Jun 2022 às 17:33
por osvaldomp
Olá, @AndreaCamila .

Veja se o código abaixo pode ser um início para o que você procura.
Código: Selecionar todos
Sub ReplicaDados()
 Dim Lin As Long, Col As Long
  With Sheets("XLM")
   Col = .Range("1:1").Find("DATA").Column 'identifica a coluna com o texto DATA na linha 1
   Lin = .Cells(Rows.Count, Col).End(3).Row 'identifica a última linha com dados na coluna DATA
   .Range(.Cells(1, Col), .Cells(Lin, Col)).Copy Sheets("BASE").[A1] 'copia a coluna DATA e cola em A1 de BASE
  End With
End Sub
#
Obs. é possível replicar várias colunas com um só código, basta colocar os cabeçalhos em uma matriz no próprio código. Retorne se houver interesse.

Re: Encontrar número da coluna pelo nome do cabeçalho dela - VBA

Enviado: 29 Jun 2022 às 11:09
por AndreaCamila
@osvaldomp Oi oi!!

Deu certo!!! Muito obrigada :D