Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range("AA:AE")) Is Nothing Then rowsel = Target.Row Range("AC1").Value = Range("P" & rowsel).Value End IfEnd Sub
When a cell in a particular column is selected, the cell at the top of that column displays the content from a different column which resides in the same row as the selected cell.
For example, in the following screenshot, cell D7 is selected so cell D1 displays the content from cell B7 (ie from the same row as the active cell):
And then when a different cell in column D is selected — whether by use of the Up/Down arrows or by a mouse-click — the heading in cell D1 automatically changes to display the content in column B of the new active row. In other words, the spreadsheet does not have to recalculate for the heading to change. It simply occurs by changing which cell is active (eg D11 in this screenshot):
Here is a screenshot of how the code appears in the older workbook:
I know I need to save the workbook as a macro-enabled (.xlsm) file but which Insert option should be used and where should each part of the code be pasted?
Also, which parts of the code needs to be modified if I want to change the selected cell, heading, and/or content column(s)?
I noticed two lines in your code which I don't see in the original:
Open in new window
Can you explain their purpose? Oh, I just saw your comment. What does, "the code will exit" mean? If I select multiple cells, I'd like to still have the row one display show the top of the range I have selected.