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

标签 excel vba

我已经有一个宏进入每个工作表的单元格 F4 并重命名该工作表的名称(我正在运行很多间接操作,因为我从很多不同的工作表中提取)。每张工作表上的每个 F4 单元格都链接到具有所有名称的主工作表 - 因此,当我更改主工作表中的硬代码时,它会更改该特定工作表的单元格 F4。但是,为了使宏运行并且该工作表将自身重命名为 F4,我需要手动转到该工作表并单击 F2,然后在单元格 F4 中输入,然后宏重命名工作表,其他一切正常。我怎样才能拥有它以便它会自动执行此操作?

- 非常抱歉,如果这个问题已经解决,通读一堆评论,但没有一个真正解决我需要的

'''这就是我重命名工作表的方法,只需要调整它,以便在我更改主文件后它“F2 和 Enter”本身,这反过来会改变单元格 F4 的值”

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  If Target.Address(0, 0) = "F4" Then
    Sh.Name = Sh.Range("F4").Value
  End If
End Sub

最佳答案

如果你把它作为 Worksheet_Change您的主表事件:

Private Sub Worksheet_Change(ByVal Target As Range)
    For Each sh In ThisWorkbook.Sheets
        If sh.Name <> Target.Parent.Name And sh.Name <> sh.Range("F4") Then
            sh.Name = sh.Range("F4")
        End If
    Next
End Sub

这将在每次对主表进行更改时运行,如果它看到一个名称与该表 F4 值不同的表(除了主表),它将更正它。

但请记住,您需要确保在 F4 中没有两个工作表具有相同的值,因为没有两个选项卡可以具有相同的名称。

关于Excel VBA 进入每个工作表中的单元格并刷新(F2+Enter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55536826/

相关文章:

vba - Excel - 复制显示值而不是实际值

vba - 循环遍历行并分离出每一行 "visit"

asp.net - 将按钮单击事件移动到 asp 后未触发 :content

excel - 使用变量按名称选择 ActiveX 控件复选框(在 Word 或 Excel 中)?

excel - 扫描非默认 Outlook 收件箱中的电子邮件?

vba - 如何在整个工作表中查找包含字符串的单元格

c# - 作为集成测试的一部分,为已安装的 ExcelDna 插件调用 Excel 功能区按钮

excel - vba的FindNext不起作用

excel - 我的 Excel 2007 宏 - 参数不可选是什么意思?

VBA——对多个切换按钮使用一次点击事件