Возможно, это утомительно, но если вы знаете, какие столбцы будут называться, вы можете поработать над этим.
Например, скажем, некоторые заголовки столбцов - «Дата покупки», «сумма "и" цена ".
'get last column variable, or if it wont change you can hard code in
lastCol = ActiveSheet.Cells(1, sht.Columns.Count).End(xlToLeft).Column
'Loop through column headers, if statements for each one you care about
For i = 1 To lastCol
If Cells(1, i).Value = "Purchase Date" Then
Set Column1 = ActiveSheet.Columns(i)
End If
If Cells(1, i).Value = "amount" Then
'... and so on ...
End If
Next i