在配方栏中隐藏公式

当我在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选项卡并selectLockedHidden 隐藏公式

保护表格
– >单击Review选项卡,然后Protect Sheet并确定(不需要密码)
保护表格

现在注意,你仍然可以编辑除A1之外的任何单元格。 看看配方吧 – 没有配方! 它的隐藏!
DONE


这是一个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。

使用新的电子表格将此代码插入新的VBEALT + F11Module 。 从View Macros窗口( ALT + F8 )执行Mainmacros

 Sub Main() With Range("A1") .Formula = "=1+1" End With With Range("A2") .Formula = "=1+1" .Value = .Value End With End Sub 

执行后查看工作表范围A1A2
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