Smooth Scrolling comes to Excel for Windows
Published Oct 07 2021 11:54 AM 117K Views
Microsoft

We’ve heard from many of you that it can be difficult to scroll through a worksheet with large cells and view all the data. The main reason for this issue is that Excel automatically snapped to the top-left cell as you scrolled.  Though you might think this is an easy fix, simply requiring the alteration of a few lines of code, there’s actually a lot more to it. In fact, we learned that this change affects many different aspects of Excel, including freezing panes, resizing rows, cutting and pasting, filtering, cell styles, comments, dragging and filling, and more.

Short video showing an Excel sheet that scrolls and stops partway through row 2, then scrolls to show row 1. The bold text in row 2 says "We're happy to anounce New in Excel for Windows: Smooth Scrolling".Short video showing an Excel sheet that scrolls and stops partway through row 2, then scrolls to show row 1. The bold text in row 2 says "We're happy to anounce New in Excel for Windows: Smooth Scrolling".

How it works

When you’re scrolling in a sheet with very large cells, the way Excel for Windows snapped to the grid made it hard to view your data. Many of you requested that we improve the way this works, and that’s just what we’ve done. We fixed the issue by making the scrolling much smoother—there are 2 parts to this update.

  • First, it’s smoother during the scroll when using either the mouse wheel* or the scrollbars (touch screen and touch pad already scrolled smoothly).
  • Second, and most importantly, you can stop scrolling partway through a row or column, and Excel won’t force you to go any further than you want.

 

* Depending on the mouse or touch pad you’re using, you may not be able to scroll one pixel at a time. If you don’t have a “precision” mouse or touch pad, each movement will be based on the height of one line of text. If your Windows setting is to move 1 line for each click of the scroll wheel, it will move by line of text rather than by 1 row of your worksheet.

 

Things to Try

  1. Increase the height on some rows in your spreadsheet and scroll using your mouse wheel or touch pad to see that you can stop partway through a row, and avoid snapping to the top.
  2. Drag the scroll bar to see that you can scroll with precision and you can stop anywhere you like.

Want to know more?

All you need to know is that Excel will scroll better, but we wanted to share more about the story of this improvement. It provides an interesting peek at the complexities of making even small changes to Excel, which has been around for decades and has so many features. Many who’ve asked for Excel to stop snapping when you’re trying to scroll just a little have also asked why this wasn’t done a long time ago.  After all, it should be a simple matter of removing a few lines of code that causes the sheet to snap. Right? We wish it were as easy as that. It may seem straightforward to smooth things out, but we knew there could be some side effects to not snapping. In fact, we learned that this change impacted many things in Excel.

 

We found 2 main types of issues as a result of not snapping to the edges and scrolling smoothly. One set of issues dealt with the positioning of objects on the sheet, and the other set of issues related to how objects are displayed while you’re scrolling.

To understand why there were issues with positioning objects on the sheet, it’s helpful to know that the position of the sheet (which cell is in the top-left corner of the visible area) is fundamental to just about everything that gets displayed in Excel.  For example, if you have a chart, Excel calculates the position where the chart should be displayed based on the distance from the top left cell. Calculations like this were created with the understanding that the sheet would always be positioned cleanly on the edge of a row and column. Now that smooth scrolling allows the sheet to be positioned partway through rows and columns, those calculations had to be updated to avoid your chart showing up in the wrong place. Likewise, there are calculations to determine where objects and screen elements should appear while scrolling. Many of these calculations assumed that Excel would always be cleanly snapped to cell edges. To provide a smooth experience, we had to come up with new ways to calculate these positions in a more dynamic way.

 

We also found issues related to the location of mouse and touch points in the sheet. There are calculations to determine where you’re clicking or pointing in Excel. If these calculations assume the sheet would be snapped, your click might not hit what you expect it to hit. For example, you may click on a cell, but a different cell would be selected.

Screen shot of a table in Excel showing the mouse is clicking on cell E5, but cell G5 becomes selected, due to an offset from column B being scrolled part way out of view, causing an “offset” which was not possible when Excel always snapped to the edge of a column.Screen shot of a table in Excel showing the mouse is clicking on cell E5, but cell G5 becomes selected, due to an offset from column B being scrolled part way out of view, causing an “offset” which was not possible when Excel always snapped to the edge of a column.

 

Using your touch screen is similar. Excel calculates what should be in the place where you touched, and it always assumed the sheet would be snapped. One issue we found was that if we scrolled partway through a row and tried to draw on the sheet, there would be a gap near the bottom of the sheet where we couldn’t draw anything. The gap was exactly the same height as the part of the top row that was scrolled out of view.

This image shows that since row 1 is scrolled partway out of view,  the “offset” caused a drawing problem near the bottom of the sheet. Drawing near the bottom of the sheet stopped working in an area the same height as the amount of row 1 which is out of view.This image shows that since row 1 is scrolled partway out of view, the “offset” caused a drawing problem near the bottom of the sheet. Drawing near the bottom of the sheet stopped working in an area the same height as the amount of row 1 which is out of view.

 

Those are just a few examples, but the graphic below emphasizes the wide-ranging effects of this change, by showing of all the different things in Excel that could be affected by the position of the sheet no longer being snapped cleanly to the edge.

 

A word cloud diagram listing various aspects of Excel in different font sizes, colors, and angles. The largest words are "freezepanes", "scrollbar", "RTLSheet", "PLV", "datavalidation", "editcell", and comments. There are other smaller words scattered around the larger words.A word cloud diagram listing various aspects of Excel in different font sizes, colors, and angles. The largest words are "freezepanes", "scrollbar", "RTLSheet", "PLV", "datavalidation", "editcell", and comments. There are other smaller words scattered around the larger words.

 

 

The diagram below shows that with smooth scrolling, the sheet can be scrolled partway through a row and column, which creates an “offset” distance both horizontally and vertically. This offset had never been possible, since the sheet was always snapped to the edge of a row and column. The calculations of where things are positioned on the screen was straightforward. Now the calculations need to deal with the offset, so it’s significantly more complicated.

Sreen shot of a few rows and columns in Excel with column A and row 1 partially scrolled out of view to the top of the sheet. A dotted rectangle indicates the borders of the part of A1 that's out of view.Sreen shot of a few rows and columns in Excel with column A and row 1 partially scrolled out of view to the top of the sheet. A dotted rectangle indicates the borders of the part of A1 that's out of view.

 

We found in early testing that some things just didn’t look or work as expected, so we realized this was not going to be a simple or straightforward change. As indicated by the word graphic above, almost everything in Excel could be affected, so we had to carefully investigate each part of the app. As you might expect, fixing one issue sometimes came with unwanted consequences, so there were new issues to fix. Sometimes we had to take a step back and design a fix in a new way that would avoid causing additional problems.  

Another consideration is the variety of different ways that you can scroll in Excel – mouse wheel, touch pad, touch screen, scroll bar drag, scroll bar buttons, selection drag, and more. Each scroll method has differences that could be impacted by these changes. We spent time working to streamline the code for each of the scrolling methods to reduce the differences. This means that fixing an issue for one scrolling method would likely fix it for all. It was time well spent, but it delayed the release of Smooth Scrolling.

 

We understand that scrolling is such a basic and fundamental part of how everyone uses Excel. For this reason, we had to be very careful at every step of the way to ensure that while we’re making a big improvement, we don’t miss something important. It was a classic “peeling the onion” story in software development - the more layers that you uncover, the more you find. Now we’ve peeled all the layers, we expect it to be smooth scrolling into the future.

 

Availability

UPDATE (15-Dec-2022): We have now enabled this feature for everyone using the monthly "production" updates for subscribers. The minimum version number for Smooth Scrolling is Version 2207. If you're not seeing smooth scrolling, please make sure that you've checked for updates. To do that, go to File > Account > Update Options and update to the latest version.

 

Feedback

If you have any comments or questions about scrolling in Excel for Windows, please send feedback in Excel by clicking Help > Feedback. We’d love to hear from you!  Learn what other information you should include in your feedback to ensure it’s actionable and reaches the right people. We’re excited to hear from you! 

47 Comments
Co-Authors
Version history
Last update:
‎Dec 15 2022 03:31 PM
Updated by: