Knowledge Base

XL98: How to Scroll Window Views from Object to Object

Article ID: 193246

Article Last Modified on 6/17/2005


APPLIES TO


This article was previously published under Q193246

SUMMARY

By using Microsoft Visual Basic for Applications macro, you can scroll from object to object on a sheet without changing the current cell selection. The ActiveWindow methods, ScrollColumn and ScrollRow, control the position of the current Window view of a Worksheet. By determining the position of an object on the sheet, the view can be scrolled to display that object. The position of the object can be found using the TopLeftCell property of the DrawingObjects properties. Therefore, any object can be viewed just by proper referencing within the code.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Sample Visual Basic Procedure

The following example uses scrolling code elements. Type the sample into a new module sheet. Activate a worksheet that contains charts, text boxes, buttons, or other such Drawing objects. Write a list of several object names. Run the macro and watch the screen display each object in the upper left corner unless there is an error made with the object name.

The sample code is as follows:
   Sub ScrollToObject()
      Dim ObjName As String

      On Error GoTo Finish

      ObjName = Application.InputBox(Prompt:="What is the object name?", _
                Title:="Identify the Object")

      ActiveWindow.ScrollRow = _
         ActiveSheet.DrawingObjects(ObjName).TopLeftCell.Row

      ActiveWindow.ScrollColumn = _
         ActiveSheet.DrawingObjects(ObjName).TopLeftCell.Column

       Exit Sub
   Finish:
       MsgBox "Object name is invalid"
   End Sub
				

Additional query words: XL98

Keywords: kbhowto kbdtacode KB193246