在每个工作表的相同位置显示相同的文本
我有一个工作簿中的10个工作表。
在本工作簿的每个工作表中,我都想在某个位置input客户,项目名称和项目经理。 这些值在att表中是相同的。
理想情况下,我希望用户将这些详细信息input到一个“pipe理员表单”中,然后在所有表单中显示这些信息,而不考虑其列宽。
什么是这样做的好方法?
我已经考虑在10个工作表中的每一个中input一个文本框。 但是这至less有两个缺点
- 用户可能会意外地select和移动文本框,并变得困惑和烦恼
- 当用户更改pipe理工作表中的项目经理,客户或项目名称时,必须有某种VBA工作表更改事件来更新checkbox。 这感觉不必要的复杂。
有没有更好的办法?
难道你不只是使用pipe理工作表上的命令button,并从它运行这个代码?
Sub SO() For Each ws In ActiveWorkbook.Sheets If Not ws.Name = "admin sheet" Then _ ws.Range("A1:B10").Value = Sheets("admin sheet").Range("A1:B10").Value ws.Columns("A:B").AutoFit Next ws End Sub
如果你真的想把这个分配给“admin sheet”模块中的一个Worksheet_Change()
事件,但是我会推荐一个用户至less有一些控制权的button。
您可以Insert
> Shapes
>例如Text Box
或Rounded Rectangle
,然后单击公式栏,同时select新的形状,并键入对pipe理表单元格的引用,例如
='admin sheet'!A1
并根据需要设置形状。
确保Format Shape...
> Properties
> Don't move or size with cells
。
当您完成devise工作表时,请select所有要编辑的单元格,然后在右键单击菜单中Format cells...
在“ Protection
选项卡上取消选中Lock cells
格即使在下一步保护工作表后也可以编辑这些单元格:
使用“ Review
>“ Protect Sheet
– 您不必使用任何密码,并且可以启用用户应该执行的所有操作,但如果要防止用户移动形状,则不要选中“ Edit Objects
checkbox。