How to Move an Excel Find Result to the Top of the Window
Question details
The user wants to reposition the screen so that a cell selected by the Find tool appears at the top-left of the worksheet window, rather than at the bottom or middle.
- Product
- Excel
- Device & OS
- not provided
- Scenario
- Scanning through multiple entries using the Find tool and struggling with poor visibility because results appear at the bottom of the visible area.
- Observed behavior
- The Excel Find feature selects matching cells but minimizes scrolling, often leaving the found cell near the bottom or middle of the screen where it is difficult to read surrounding data.
Ensure the Developer tab is enabled in your ribbon to access the VBA editor, and remember to save your document as a Macro-Enabled Workbook (.xlsm) to preserve your code.
Use a VBA Macro to Scroll the Active Cell to the Upper-Left
This method uses a one-line VBA script to force the application to scroll the worksheet, placing the currently active cell directly at the top-left corner of the display.
Excel does not have a native setting to change how the Find tool centers its results. By using the Application.Goto method in VBA with the Scroll argument set to True, you can manually trigger the exact positioning you need.
Press ALT + F11 on your keyboard to open the Microsoft Visual Basic for Applications window.
Click on 'Insert' in the top menu and select 'Module' to create a blank workspace for your code.
Copy and paste the following code into the module window: Sub UpperLeft() Application.Goto ActiveCell, True End Sub
Return to your worksheet, use the Find feature (Ctrl + F) to locate your data, then press ALT + F8, select 'UpperLeft', and click 'Run' to scroll the screen.
Utilize AutoFilter to Review Matching Rows
If jumping between individual Find results is too frustrating, using the AutoFilter feature allows you to display all relevant entries together in one view.
Optimize Your Data Search and Macros with WPS Spreadsheet
WPS Spreadsheet provides a seamless, lightweight environment for running VBA macros and managing large datasets. Whether you are automating screen scrolling with macros or applying advanced filters, WPS Office handles your spreadsheet needs smoothly.
- 1. Download WPS Office: Download and install the free version of WPS Office from the official website.
- 2. Open Your Spreadsheet: Launch WPS Spreadsheet and open your existing data file.
- 3. Access the Developer Tools: Navigate to the Developer tab to access the built-in VBA Editor.
- 4. Run the Repositioning Macro: Insert the Application.Goto code just as you would in Excel to instantly scroll your active cell to the top-left corner.

Frequently Asked Questions
Why does Excel Find put results at the bottom of the screen?
When using the Find feature, the application simply brings the cell into the visible area with the minimum amount of scrolling required. If the next match is located just below your current screen view, it will simply bump up to appear at the very bottom edge of the window.
What does the 'True' argument do in the Application.Goto method?
The 'True' argument corresponds to the 'Scroll' parameter in the Application.Goto method. Setting it to True forces the application window to scroll through the worksheet so that the referenced range (your ActiveCell) is pushed to the upper-left corner of the viewing area.
Can I make this macro run automatically every time I use Find?
There is no built-in event trigger in VBA that activates specifically upon using the Find dialog. The most practical workaround is to assign the macro to a convenient keyboard shortcut so you can execute the scroll command instantly after hitting 'Find Next'.
Is filtering a better alternative than using the Find tool?
Filtering is typically better when you need to see all related records grouped together at once, allowing you to scan them efficiently. However, Find is necessary if you are searching for scattered matches across multiple different columns or if retaining the original visual layout of the spreadsheet is important.




