kaz*_*one 5 excel vba excel-vba
当我在visual basic中使用下面HYPERLINK显示的代码时,该部分出现在bar工作表中的公式中.我只想"TextHere"在公式栏中显示.
我可以添加哪些附加代码?我试图通过在保护选项卡中更改其属性来隐藏它,但它不允许我再编辑TEXT.我希望它仍然是编辑友好的.
Sub IndexingSheets()
Sheets(1).Range("A1").Formula = _
"=HYPERLINK(""#" & ThisWorkbook.Sheets(2).Name & "!A2"", ""TextHere"")"
End Sub
Run Code Online (Sandbox Code Playgroud)
小智 16
如何隐藏公式栏中的公式
让我演示两种隐藏公式栏中公式的方法
要隐藏你必须设置的公式栏中的公式HiddenFormula属性的Range对象,以True
当工作表被它只会工作,保护
这样的伎俩在这里是:
- >选择所有的细胞和解锁他们的编辑
- >选择单元格要隐藏公式来自并锁定它们
- >保护表格
选择所有单元格并解锁它们进行编辑
- >选择所有单元格,右键单击任意位置以格式化单元格.转到Protection选项卡并取消选择Locked
选择要隐藏公式的单元格并锁定它们
- >选择A1,右键单击,转到Protection选项卡并选择Locked和Hidden
保护工作表
- >单击Review选项卡,然后Protect Sheet单击确定(无需密码)
现在请注意,您仍然可以编辑除A1之外的任何单元格.看看公式栏 - 没有公式!它的隐藏!
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
Run Code Online (Sandbox Code Playgroud)
使用新的电子表格将此代码插入新的VBE(ALT+ F11)Module.Main从View Macros窗口执行宏(ALT+ F8)
Sub Main()
With Range("A1")
.Formula = "=1+1"
End With
With Range("A2")
.Formula = "=1+1"
.Value = .Value
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
执行后看看床单范围A1和A2
当A1被选中,你看看公式栏中可以看到公式=1+1,
然而,当你选择A2,即使你已经把该单元格的公式,它已经evaluated和隐藏所以现在显示器评估值(多酷!)
同样的原理,当你应用从封闭的工作簿拉着一个值,例如
Sub PullValueFromAClosedWorkbooksRange()
With Range("A1")
.Formula = "='C:\Users\admin\Desktop\[temp.xlsm]Sheet1'!A1"
.Value = .Value
End With
End Sub
Run Code Online (Sandbox Code Playgroud)