You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动