You can do something like this to get the column number of a header in row 1 of the active sheet:
Set r = Rows(1).Find(What:="AS_DESCRIPTION", LookIn:=xlFormulas, lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not r Is Nothing Then ColumnNumber = r.Column
You can wrap this in a function to make it a bit more flexible:
Function HeaderToColumnNo(HeaderText, TheSheet, HeaderRow, Optional ReportNotFound As Boolean = True)
HeaderToColumnNo = 0 'impossible column no.
Set r = TheSheet.Rows(HeaderRow).Find(What:=HeaderText, LookIn:=xlFormulas, lookat:=xlWhole, MatchCase:=False, SearchFormat:=False) 'hard code but OK for now
If Not r Is Nothing Then
HeaderToColumnNo = r.Column
Else
If ReportNotFound Then MsgBox "Couldn't find '" & HeaderText & "' in row " & HeaderRow & " of the " & TheSheet.Name & " sheet"
End If
End Function
which you'd use in code like:
x = HeaderToColumnNo("AS_DESCRIPTION", Sheets("Sheet1"), 1, False) 'looks in first row of sheet1 for "AS_DESCRIPTION"
x = HeaderToColumnNo("AS_DESCRIPTION_LD", Sheets("Sheet5"), 2, True) 'looks in 2nd row of sheet5 for "AS_DESCRIPTION_LD"
'if you want the letter(s) of the column then something like:
Columnletter = Split(Cells(1, x).Address, "$")(1)