How to find out whether a range is off-screen
Article contributed by Jonathan West
If the [Range].Information(wdHorizontalPositionRelativeToPage) property returns -1, then the range is not on screen. However if part of the range is on screen, it will not return -1. So if you want to check specifically whether the start or end of the range is on screen, you would need to collapse the range:
Sub CheckIfEndOfRangeOnScreen()
 
     Dim MyRange 
	As Range, EndOfRange As Range
    
     Set MyRange = 
	ActiveDocument.Range
     Set EndOfRange = 
	MyRange.Duplicate
     EndOfRange.Collapse wdCollapseEnd
    
     If
 EndOfRange.Information(wdHorizontalPositionRelativeToPage) = -1 
	Then
         MsgBox "The end of the range is not 
	on screen"
     End If
 
 End Sub