首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

转到每个工作表中的单元格并刷新的Excel VBA (F2+Enter)

在Excel VBA中,如果你想转到每个工作表中的特定单元格并刷新它们(模拟按F2然后按Enter的效果),你可以使用以下VBA代码。这段代码会遍历工作簿中的每个工作表,并将焦点设置到指定的单元格上,然后模拟按下F2和Enter键。

代码语言:javascript
复制
Sub RefreshCellsInAllSheets()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range

    ' 设置你要刷新的单元格范围,例如 A1
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1")

    ' 遍历所有工作表
    For Each ws In ThisWorkbook.Sheets
        ' 设置焦点到指定单元格
        ws.Activate
        ws.Range(rng.Address).Select
        
        ' 模拟按下F2键(进入编辑模式)
        Application.SendKeys "{F2}", True
        
        ' 模拟按下Enter键(确认编辑)
        Application.SendKeys "{ENTER}", True
    Next ws
End Sub

请注意,Application.SendKeys 方法可能不是最可靠的方式来模拟键盘输入,因为它依赖于系统的当前状态,并且可能会受到其他应用程序或系统设置的影响。此外,如果你的工作簿中有大量的单元格需要刷新,这种方法可能会比较慢。

如果你想要一个更可靠的方法来刷新单元格,你可以考虑使用VBA来直接修改单元格的值或属性,而不是模拟键盘输入。例如,如果你想要刷新某个单元格以使其显示最新的公式结果,你可以直接对该单元格使用 Calculate 方法:

代码语言:javascript
复制
Sub RefreshCellInAllSheets()
    Dim ws As Worksheet
    Dim rng As Range

    ' 设置你要刷新的单元格范围,例如 A1
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1")

    ' 遍历所有工作表
    For Each ws In ThisWorkbook.Sheets
        ' 刷新指定单元格
        ws.Range(rng.Address).Calculate
    Next ws
End Sub

这段代码会遍历所有工作表,并对指定单元格调用 Calculate 方法,以确保它们显示最新的计算结果。这种方法通常比模拟键盘输入更可靠和高效。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券