【发布时间】:2019-04-05 22:49:43
【问题描述】:
我已经有一个宏进入每个工作表的单元格 F4 并将该工作表重命名为该名称(我正在运行很多间接操作,因为我从很多不同的工作表中提取)。每张工作表上的每个 F4 单元格都链接到具有所有名称的主工作表 - 因此,当我更改主工作表中的硬代码时,它会更改该特定工作表的单元格 F4。但是,为了使宏运行并且该工作表将自身重命名为 F4,我需要手动转到该工作表并单击 F2,然后在单元格 F4 中输入,然后宏重命名工作表,其他一切正常。我怎样才能拥有它以便它会自动执行此操作?
-如果这个问题已经解决,非常抱歉,阅读了一堆 cmets,但没有一个真正解决我需要的问题
'''这就是我重命名工作表的方法,只需要在我更改主文件后对其进行调整,使其“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
【问题讨论】:
-
为什么您的宏不能只查看主工作表并在那里找到新工作表名称?
-
@PeterT 评论+1。只需在主工作表上创建一个
Worksheet_Change事件,它将触发工作表名称更改,这就是您所需要的。