2017-06-30 15 views
0

名前マネージャで「Name1」を非表示にするためにExcel VBAを使用したいと考えています。スコープワークブックでName1を非表示にするコードを教えてください。ありがとう!名前マネージャで定義されたExcel VBA非表示名

'Can hide Name1 with scope Sheet1 
ThisWorkbook.Worksheets("Sheet1").Names("Name1").Visible = False 
'Can hide Name1 with scope Sheet2 
ThisWorkbook.Worksheets("Sheet2").Names("Name1").Visible = False 
'Can hide Name1 with scope Sheet3 
ThisWorkbook.Worksheets("Sheet3").Names("Name1").Visible = False 

'TODO: I want to hide Name1 with scope Workbook, but failed. 
'The code hidden Name1 with scope Sheet1 instead. 
ThisWorkbook.Names("Name1").Visible = False 

The names to be hidden by Excel VBA

答えて

1

以下のコードを試してみてください(コードのコメント内の説明):

Option Explicit 

Sub HideNames() 

Dim xName As Name 
Dim NametoHide As String 

NametoHide = "Name1" ' <-- modify to whatever name you want to hide 

' loop through all names 
For Each xName In ThisWorkbook.Names 
    If xName.Name = NametoHide Then 
     xName.Visible = False 
    End If 
Next xName 

End Sub 
+0

はいいですね!スコープブックでName1を非表示にしたいのであれば、すべてのスコープではないのですか?ありがとう! –

+0

@TonyChanコードを読んだ?それを理解しようとした?それをテストしましたか? –

+0

今私は理解する!スコープワークブックではなく、スコープワークシート内の名前をループします。 –

関連する問題