I am wanting to have a table of information that can always be visible (float) on the screen no matter where the user scrolls.
For one possible approach to doing this, follow these steps:
Step 1
Select the range of data which represents the table you want to keep visible.
Step 2
With that range selected, press the Shift key, and while doing that, from the worksheet menu click Edit > Copy Picture.
Step 3
Select the option "As shown when printed" and click OK.
Step 4
Activate the sheet where you want this table to always be visible.
Select any cell and press Ctrl+V.
Step 5
At that point, the range is a picture object on your desired sheet, and that picture object is selected. Click inside the name box (just to the left of the formula bar) and enter "PictureX" (without the quotes) and then press Enter.
Step 6
Select any worksheet cell to deselect the PictureX object.
Step 7
Right click on that sheet tab, left click on View Code, and paste this into the large white area that is the worksheet module:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
With ActiveWindow.VisibleRange
ActiveSheet.Shapes("PictureX").Top = .Top + 5
ActiveSheet.Shapes("PictureX").Left = .Left + .Width - ActiveSheet.Shapes("PictureX").Width - 45
ActiveSheet.Shapes("PictureX").Top = .Top + 35
ActiveSheet.Shapes("PictureX").Left = .Left + .Width - ActiveSheet.Shapes("PictureX").Width - 45
End With
End Sub
Step 8
Press Alt+Q to return to the worksheet.
Select any cell and scroll down or across and select any other cell, and as you do that, the picture object will always be in the upper right corner of the screen.
Note - -
This is triggered by the selection of cells.
It is possible with a timer to monitor the scroll bar but that is more involved (do-able, just too top-heavy and not necessary in this application), so see if the above steps get you what you want.