O que estou tentando fazer
Estou tentando determinar a primeira coluna em uma tabela nomeada que tem uma data.
O que eu tentei
Como todos os dados em uma linha de cabeçalho de tabela são armazenados como strings, imaginei que teria que primeiro retirar os números de data como uma string e depois convertê-los em um número. Depois, verificar se é um erro caso não haja números na string extraída.
Meu código para encontrar a coluna da tabela é o seguinte e explode na instrução IF.
For Each HeaderCell In LO.HeaderRowRange
If Not IsError(CLng(Left(HeaderCell.value, 4))) Then
lngFirstDateCol = HeaderCell.Column
Exit For
End If
Next HeaderCell
Adicionei cada parte do check à janela watch. HeaderCell.Value retorna "Project No". Left retorna "Proj". CLng mostra como . IsError mostra como .
Minha linha de cabeçalho de exemplo se parece com a seguinte
Proj No | TTTT | Office | Staff | RFP | 2024/10/4 | 2024/10/11
Com o cabeçalho Example gostaria de retornar o valor de 6
Pergunta
Qual é a abordagem correta para encontrar a primeira coluna que é uma coluna de data? Atualmente, eu a tenho codificada.
Use
IsDate
para validar o valor.Localize a primeira coluna de data na linha de cabeçalho ListObject.