2013-05-22 113 views
4

當我在visual basic中使用下面顯示的代碼時,HYPERLINK部件出現在工作表中的公式bar中。我只想讓"TextHere"顯示在配方欄中。在公式欄中隱藏公式

我可以添加哪些附加代碼?我試圖通過在保護標籤中更改它的屬性來隱藏它,但它不允許我再編輯TEXT。我希望它仍然是編輯友好的。

Sub IndexingSheets() 
    Sheets(1).Range("A1").Formula = _ 
    "=HYPERLINK(""#" & ThisWorkbook.Sheets(2).Name & "!A2"", ""TextHere"")" 
End Sub 

回答

14

如何隱藏公式欄
公式讓我展示隱藏式兩種方式從公式欄


一號。

要隱藏公式欄中的公式,你必須設置HiddenFormula property the Range objectTrue
而工作表保護
它只會工作,所以這裏是:
- >選擇所有單元格並解鎖它們以供編輯
- >選擇要隱藏公式並將它們鎖定的單元格
- >保護表格

選擇所有單元格並解鎖它們以進行編輯
→選擇所有單元格,右鍵單擊任意位置以格式化單元格。轉至Protection選項卡,取消選擇Locked unlocking

選擇單元格要隱藏公式並將其鎖定
- >選擇A1,點擊右鍵,進入Protection選項卡,選擇LockedHidden hide formulas

保護片
- >點擊Review噸AB,然後Protect Sheet和OK(無需密碼)
protect sheet

現在請注意,您還可以編輯任何單元格除了A1。看看公式欄 - 沒有公式!它的隱藏!
done


這是一個 VBA溶液:

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 

NO 2。

隨着新的電子表格中一個新的VBEALT + F11Module插入該代碼。從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 

執行之後執行Main宏看看片材範圍A1A2
A1被選中和你看式你可以看到公式=1+1,
然而,當你選擇A2即使你已經在單元格中輸入公式,它已經是evaluated隱藏所以現在它顯示的評估值(如何的酷!)
evaluated

同樣的原理,當你拉從一個封閉的工作簿值適用於例如

Sub PullValueFromAClosedWorkbooksRange() 
    With Range("A1") 
     .Formula = "='C:\Users\admin\Desktop\[temp.xlsm]Sheet1'!A1" 
     .Value = .Value 
    End With 
End Sub 
+0

特殊答案 –