Excel 2016恢复Power Query静默刷新不跳转视图的方法
解决Excel 2016中Power Query刷新后视图自动跳转的问题
我之前也碰到过一模一样的情况——从Excel 2013升级到2016后,原本安安静静的Power Query刷新突然会把视图强行跳转到刷新后的表格,打断操作节奏真的挺烦的。这里有两种实用方法帮你找回旧版的静默刷新体验:
方法1:记录原位置,刷新后切回去
这个思路特别直观:先把你当前正在操作的单元格位置记下来,等刷新完成后再切回原处,就不会察觉到视图跳走了。修改后的VBA代码如下:
Public Sub RefreshData() ' 保存当前活动单元格的位置 Dim currentCell As Range Set currentCell = ActiveCell ' 执行Power Query表格刷新 Sheet1.Range("my_data_table").ListObject.TableObject.Refresh ' 切回原来的单元格,维持视图位置不变 currentCell.Select End Sub
这种方法逻辑简单,而且不会影响Excel的其他屏幕显示效果,适合大多数日常使用场景。
方法2:关闭屏幕更新,全程静默刷新
如果你希望刷新过程中完全看不到任何视图波动,可以直接关闭Excel的屏幕更新功能,刷新结束后再恢复。记得加上错误处理,防止万一刷新出错导致屏幕更新一直处于关闭状态:
Public Sub RefreshData() ' 关闭屏幕更新,让刷新在后台静默执行 Application.ScreenUpdating = False ' 错误处理:确保无论刷新成功与否,屏幕更新都能恢复 On Error GoTo ErrorHandler ' 执行Power Query表格刷新 Sheet1.Range("my_data_table").ListObject.TableObject.Refresh ErrorHandler: ' 恢复屏幕更新 Application.ScreenUpdating = True ' 如果刷新出错,弹出提示告知用户 If Err.Number <> 0 Then MsgBox "刷新过程中出现错误: " & Err.Description, vbExclamation End If End Sub
这个方法适合数据量较大、中间可能有多次视图变化的场景,能让整个刷新过程完全“隐形”。
你可以根据自己的使用习惯选一种试试,亲测在Excel 2016及更高版本都能解决视图跳转的问题~
内容的提问来源于stack exchange,提问作者Sorin GFS




