首页
学习
活动
专区
工具
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 方法,以确保它们显示最新的计算结果。这种方法通常比模拟键盘输入更可靠和高效。

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

相关·内容

VBA代码:拆分工作簿示例——将工作簿中的每个工作表保存为单独的工作簿

标签:VBA 有时候,我们想将工作簿中的每个工作表都保存为一个单独的工作簿。 你可以使用下面的操作逐个保存工作表: 1.在工作表标签中单击右键。 2.选取“移动或复制…”命令。...3.选择“(新工作簿)”。 4.保存该工作簿。 图1 这样,有多少工作表,你就要操作上面的步骤多少次。 然而,如果存在很多个工作簿,这样的重复工作使用VBA是最合适的。...msoFileDialogFolderPicker) .InitialFileName =Application.DefaultFilePath & "\" .Title = "选择保存工作表的位置...Next wks Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub 只需在要拆分的工作簿中运行上述代码...,就可将该工作簿中的所有工作表全部保存为单独的工作簿。

4.1K11
  • VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表

    VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表 【问题】我们发了这样一个表格到各单位收集资料,各单位填写完后上交上来有许多个文件,我们现在想汇总成一年一个表,怎么办?...那就加班,再加班 【解决问题】我们的口号是VBA使工作效率提高,不加班 ====【代码】==== Sub 提取多文件一工作表中不同区域汇总() Dim fileToOpen, x, total_file_path...Worksheet, sht2017 As Worksheet, sht2018 As Worksheet fileToOpen = Application.GetOpenFilename("Excel...用Application.GetOpenFilename打开一个选择文件的对话框,可以多选,把选择的文件存入到fileToOpen的数据中 2.循环数组, 3.打开一个文件,并复制全部的区域,到指定的2016...-2018的表格中,下一次的复制,复制到最后的一行中的A列中, 4.因为在打开文件的过程中可能有些人在传输文件中,文件损坏了,所以加上On Error Resume Next,不报错继续运行。

    2.3K21

    Excel技术:如何在一个工作表中筛选并获取另一工作表中的数据

    标签:Power Query,Filter函数 问题:需要整理一个有数千条数据的列表,Excel可以很方便地搜索并显示需要的条目,然而,想把经过提炼的结果列表移到一个新的电子表格中,不知道有什么好方法?...为简化起见,我们使用少量的数据来进行演示,示例数据如下图1所示。 图1 示例数据位于名为“表1”的表中,我们想获取“产地”列为“宜昌”的数据。...方法1:使用Power Query 在新工作簿中,单击功能区“数据”选项卡中的“获取数据——来自文件——从工作簿”命令,找到“表1”所在的工作簿,单击“导入”,在弹出的导航器中选择工作簿文件中的“表1”...图3 方法2:使用FILTER函数 新建一个工作表,在合适的位置输入公式: =FILTER(表1,表1[产地]="宜昌") 结果如下图4所示。...图5 FILTER函数简介 FILTER函数是一个动态数组函数,其语法为: =FILTER(array, include, [if_empty]) 其中,参数array,想要筛选的数据,单元格区域或数组

    18.3K40

    VBA基础:复制格式、选取单元格及复制工作表的示例代码

    标签:VBA 将某工作表中的格式转换到另一个工作表 示例代码: Sub TransferFormat() '源格式工作表 Dim sht1 As Worksheet '要应用格式的工作表 Dim...例如,选择当前工作表单元格D5: ActiveSheet.Cells(5, 4).Select 或者: ActiveSheet.Range("D5”).Select 选择另一个工作表中的单元格E6: Application.Goto...: Sheets("Sheet2").Activate ActiveSheet.Cells(6, 5).Select 选择当前工作表中的单元格区域C2:D10: ActiveSheet.Range(Cells...Range(Cells(2, 3), Cells(10, 4)).Select 选择另一个工作表中的单元格区域D3:E11: Application.Goto ActiveWorkbook.Sheets...: Sheets("Sheet3").Activate ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select 选择不同工作簿中的单元格区域: Application.Goto

    41300

    VBA技巧:将工作表中文本框里的数字转化为日期格式并输入到工作表单元格

    标签:VBA,ActiveX控件 如下图1所示,工作表中有一个名为“TextBox1”的文本框,要将其中输入的数字放置到工作表单元格B8中并转换成日期格式。...Sheet3") .Cells(8, 2) = Format(.OLEObjects("TextBox1").Object.Value, "yyyy-mm-dd") End With 反之,如果要想工作表中的文本框显示单元格中的日期...在实际应用开发中,万一碰到这种情况,就可以有现成的代码参考了。...看着有点简单,但主要是理解工作表中的ActiveX控件是如何进行引用的,文本框控件中的值是如何转换格式的,既可以熟悉ActiveX控件在VBA中的属性使用,也增加了处理类似情形的经验。

    56710

    VBA程序:列出指定工作表中的所有公式

    标签:VBA 下面的VBA过程在指定的新工作表中列出指定工作表中的所有公式,包含具体的公式、所在工作表名称及其所在单元格地址。..., 可修改为你的实际工作表名 Set rSheet = Sheets("FormulasSheet") '要查找公式的工作表, 可修改为你的实际工作表名 Set sht = Sheets("Sheet1...") '查找已使用的单元格区域 Set myRng = sht.UsedRange '错误处理, 以应对没有公式的情形 On Error Resume Next '使用SpecialCells..." & endRow).Value = Mid(c.Formula, 2, (Len(c.Formula))) '放置包含公式的工作表名在列B中 .Range("B" & endRow...).Value = sht.Name '放置去除了绝对符号$的公式所在单元格地址于列C中 .Range("C" & endRow).Value = Application.WorksheetFunction.Substitute

    21610

    VBA技巧:让代码识别工作表中的形状

    标签:VBA Q:我在工作表中放置有一些形状,例如圆形、矩形等,我想当我在工作表中使用鼠标单击这些形状时能够根据单击的形状有不同的操作,该如何实现?...我想在一个过程中实现,而不是每个形状关联不同的过程。 如下图1所示,当我使用鼠标单击上方的圆形时,会执行一个操作;单击下方的矩形时,会执行另一个操作,但这两个形状都关联相同的过程。...图1 A:在示例工作表中,将上方的圆形命名为“椭圆示例”,下方的矩形命名为“圆角矩形”。...End If End Sub 然后,返回工作表,在形状中单击鼠标右键,将其关联到宏过程testShape。当你单击工作表中的形状时,结果如下图2所示。...图2 你可以代替过程中MsgBox行的代码为你想要执行的操作代码。

    15610

    使用VBA删除工作表多列中的重复行

    标签:VBA 自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样的操作,删除工作表所有数据列中的重复行,或者指定列的重复行。 下面的Excel VBA代码,用于删除特定工作表所有列中的所有重复行。...如果只想删除指定列(例如第1、2、3列)中的重复项,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列的数字,以删除你想要的列中的重复行。...注:本文学习整理自thesmallman.com,略有修改,供有兴趣的朋友参考。

    11.4K30

    VBA小技巧10:删除工作表中的错误值

    这里将编写VBA代码,用来删除工作表指定区域中的错误值,这在很多情况下都很有用。 如下图1所示,有一组数据,但其中有一些错误值,我们想要自动删除这些错误值。 ?...图1 删除错误值的数据表如下图2所示。 ? 图2 如果不使用VBA,可以使用Excel的“定位”功能来实现。...如下图3所示,单击功能区“开始”的“编辑”组中的“查找和选择——定位条件”,弹出“定位条件”对话框。在该对话框中,选取“公式”中“错误”前的复选框,如下图3所示。 ?...图3 单击“确定”后,工作表中的错误数据单元格会被选择,单击“Delete”键,删除错误值,结果如上图2所示。...函数来判断单元格中是否是错误值,如果是,则设置该单元格为空。

    3.4K30

    Excel VBA解读(140): 从调用单元格中获取先前计算的值

    学习Excel技术,关注微信公众号: excelperfect 如果有一个依赖于一些计算慢的资源的用户定义函数,可能希望该用户定义函数在大多数情况下只返回其占用的单元格中最后一次计算得到的值,并且只偶尔使用计算慢的资源...假设要给用户定义函数传递一个计算慢的资源的参数,并让一个开关告诉它何时使用计算慢的资源。...可以设置开关(这里使用称为“RefreshSlow”的已定义名称)并在VBA过程中刷新用户定义函数,如下所示: Sub RefreshUDFs() Dim lCalcMode As Long...,因此下次打开工作簿时,检索到的值将为“空白/零”。...小结 有几种方法可以从VBA用户定义函数的最后一次计算中获取先前的值,但最好的解决方案需要使用C++ XLL。

    6.8K20

    Excel实战技巧57: 标识并使用VBA代码识别特定的工作簿

    有时候,需要使用代码确认某个工作簿是否是特定模板创建,或者是否属于某个应用程序,如果是就打开并操作该工作簿或应用程序。如何实现呢?...一种常用的方法是对工作簿文件添加自定义的文档属性,这样让代码在不打开工作簿的情况下判断是否是想要的工作簿。...选取“自定义”选项卡,在名称文本框中输入属性名称,示例中是“MyTestBook”,在类型下拉列表中选择“是或否”,选取取值选项按钮中的“是”,单击“添加”按钮,如下图1所示,为该工作簿添加自定义文档属性...图1 安装工具库DSOFile.dll 我们要使用名为DSOFile.dll的COM对象从关闭的工作簿中读取文档属性,因此,需要下载并安装该DLL。...,测试工作簿中是否具有名为MyTestBook的属性,如果是,则弹出下图3所示的消息。

    1.8K10

    如何插入或 Visio 中粘贴的 Excel 工作表

    可以使用此方法可嵌入或链接现有的 Excel 工作表的所有单元格也可嵌入或链接现有的 Excel 工作表的某些单元格。 要这样做,请按下列步骤操作: 启动 Excel,然后打开所需的工作表。...选择所需的单元格。 若要选择工作表中的所有单元格,单击 全选 按钮。 在 编辑 菜单中上, 单击 复制 。 启动 Visio,然后打开绘图。 在 编辑 菜单上单击 选择性粘贴 。...请注意,如果您双击嵌入的 Excel 工作表,水平并在 Excel 工作表中显示的垂直滚动条。 您可以使用滚动条查看嵌入工作表中的所有列和行。...要显示较大的 Excel 工作表的所有单元格 Visio 绘图中,使用除了绘图中嵌入在工作表的下面的方法。 首先,将 Excel 工作表复制为图片。 然后,粘贴到您的 Visio 绘图图片。...要这样做,请按下列步骤操作: 若要将 Excel 工作表,为图片的内容请按照下列步骤操作: 启动 Excel,然后打开所需的工作表。 按 Ctrl+End 移动到最后一个单元格在工作表上。

    10.3K71

    自动修改工作表名称为单元格中的值

    标签:VBA,工作表事件 当你想要随着工作表变化而让Excel自动做一些事情的时候,工作表事件是最能帮助你的了。之前的文章中,介绍过很多与工作表事件相关的基础知识和应用案例,今天再来一个示例。...当某单元格中的值修改后,其所在的工作表名称也相应修改为该单元格中的值。...在工作表代码模块中,输入下面的代码: Private Sub Worksheet_Change(ByVal Target As Excel.Range) Const strNAMECELL As String...= "A1" Const strERROR As String = "在单元格中是无效的工作表名称" Dim strSheetName As String With Target If...以单元格A1中的数据为工作表名称,即用户在单元格A1中输入数据后,按下回车键,工作表名称即修改为单元格A1中的内容。

    35610

    Python让Excel飞起来:使用Python xlwings实现Excel自动化

    Excel电子表格所做的那样,我们必须保存我们的工作并关闭文件。...然而,它需要一点VBA来允许Excel调用Python函数。 Python脚本 让我们首先编写一个简单的Python函数,该函数生成10个随机数,然后将它们放在Excel工作表单元格A1中。...接下来,保存VBA代码,现在我们要在Excel工作表中创建一个按钮。返回Excel界面,在“开发工具”选项卡,单击“插入->按钮”,并指定刚创建的宏Rand_10。...如果一切正常,意味着成功导入了Python函数,我们就可以直接在工作表中使用square()函数了,如下图12所示,在单元格中输入=square(A1)。...确保在VBA编辑器菜单“工具->引用”中选取了“xlwings”,并将更改保存到相应的Excel文件中。有时,当打开多个Excel工作表时,我们可能会无意中将此更改应用于另一个文件。

    9.7K41
    领券