在配方栏中隐藏公式
当我在Visual Basic中使用下面显示的代码时, HYPERLINK
部分出现在工作表的公式bar
。 我只想要"TextHere"
栏中显示"TextHere"
。
我可以添加什么额外的代码? 我试图通过在保护选项卡中更改其属性来隐藏它,但是它不允许我再编辑TEXT。 我希望它仍然是编辑友好的。
Sub IndexingSheets() Sheets(1).Range("A1").Formula = _ "=HYPERLINK(""#" & ThisWorkbook.Sheets(2).Name & "!A2"", ""TextHere"")" End Sub
如何从公式栏中隐藏公式
让我来演示从公式栏隐藏公式的两种方法
NO1。
要从公式栏中隐藏公式,必须将HiddenFormula
属性的Range
对象设置为True
它只会在工作表受到保护时才起作用
所以这里的诀窍是:
– >select所有单元格并解锁它们进行编辑
– >select要隐藏公式的单元格并locking它们
– >保护表格
select所有单元格并解锁它们以进行编辑
– >select所有单元格,右键单击任何位置来格式化单元格。 转到“ Protection
选项卡并取消select“ Locked
select要隐藏公式的单元格并将其locking
– >selectA1 ,点击右键,进入Protection
选项卡并selectLocked
和Hidden
保护表格
– >单击Review
选项卡,然后Protect Sheet
并确定(不需要密码)
现在注意,你仍然可以编辑除A1之外的任何单元格。 看看配方吧 – 没有配方! 它的隐藏!
这是一个VBA解决scheme:
Sub HideTheFormula() Dim ws As Worksheet Set ws = Sheets(1) Call IndexingSheets Call Setup(ws) Call ProtectSheet(ws) 'Call UnprotectSheet(ws) End Sub Sub IndexingSheets() Sheets(1).Range("A1").Formula = _ "=HYPERLINK(""#" & ThisWorkbook.Sheets(2).Name & "!A2"", ""TextHere"")" End Sub Sub ProtectSheet(ByRef ws As Worksheet) 'ws.Protect userinterfaceonly:=True ws.Protect End Sub Sub UnprotectSheet(ByRef ws As Worksheet) ws.Unprotect End Sub Sub Setup(ByRef ws As Worksheet) With ws.Cells .Locked = False .FormulaHidden = False End With ws.Range("A1").Locked = True ws.Range("A1").FormulaHidden = True End Sub
NO2。
使用新的电子表格将此代码插入新的VBE
( ALT + F11 ) Module
。 从View Macros
窗口( ALT + F8 )执行Main
macros
Sub Main() With Range("A1") .Formula = "=1+1" End With With Range("A2") .Formula = "=1+1" .Value = .Value End With End Sub
执行后查看工作表范围A1
和A2
当A1
被选中,你看公式栏,你可以看到公式=1+1
,
但是当你select了A2
即使你已经在单元格中input了一个公式,它已经被evaluated
和隐藏了,所以现在它显示了评估值(多酷!)
例如,当您从已closures的工作簿中提取值时,同样的原则也适用
Sub PullValueFromAClosedWorkbooksRange() With Range("A1") .Formula = "='C:\Users\admin\Desktop\[temp.xlsm]Sheet1'!A1" .Value = .Value End With End Sub