Might be easiest to do this with a user defined function.
Function GetChangedHeader(MyRange1 As Range, MyRange2 As Range, MyRange3 As Range, MyRange4 As Range, MyRange5 As Range, MyRange6 As Range, MyRange7 As Range) As String
If MyRange1 <> "" Then
GetChangedHeader = Cells(1, MyRange1.Column)
Exit Function
ElseIf MyRange2 <> "" Then
GetChangedHeader = Cells(1, MyRange2.Column)
Exit Function
ElseIf MyRange3 <> "" Then
GetChangedHeader = Cells(1, MyRange3.Column)
Exit Function
ElseIf MyRange4 <> "" Then
GetChangedHeader = Cells(1, MyRange4.Column)
Exit Function
ElseIf MyRange5 <> "" Then
GetChangedHeader = Cells(1, MyRange5.Column)
Exit Function
ElseIf MyRange6 <> "" Then
GetChangedHeader = Cells(1, MyRange6.Column)
Exit Function
ElseIf MyRange7 <> "" Then
GetChangedHeader = Cells(1, MyRange7.Column)
Exit Function
End If
End Function
Open the VBA editor by hitting Alt F11.
Insert a new module with Insert - Module
Paste in the above function
Go back to the sheet by hitting Alt F11.
In a suitable cell, enter =GetChangedHeader(C2,E2,G2,I2,K2,M2,P2)
Remember to save the workbook as a macro enabled workbook .xlsm
Bookmarks