2016-11-15 162 views
0

假設我在用戶窗體模塊中有一個列表框。顯示時,它包含三個範圍名稱。我們稱它們爲Range1,Range2和Range3。當用戶點擊一個時,我想要清除相應的範圍並刪除範圍名稱。在Excel列表框中選擇清除範圍並刪除範圍名稱

感謝任何人誰可以告訴我的代碼來做到這一點。

+0

寫爲ListBox控件的Click事件的事件處理程序。建立對應於所選名稱的範圍的引用,然後使用範圍的「.Clear」或「ClearContents」方法清除範圍。使用'RemoveItem'方法從列表框的列表中刪除名稱。 –

回答

0

我實際刪除的範圍。或者,您可以使用Range(.Value).ClearContents僅清除數據或清除數據並從範圍中格式化。

enter image description here

Private Sub ListBox1_Click() 
    With ListBox1 
     If Not IsNull(.Value) Then 
      On Error Resume Next 
      Range(.Value).Delete 
      ThisWorkbook.Names(.Value).Delete 
      On Error GoTo 0 
     End If 
    End With 
    RefreshRangeList 
End Sub 

Sub RefreshRangeList() 
    Dim n As Name 
    ListBox1.Clear 
    For Each n In ThisWorkbook.Names 
     ListBox1.AddItem n.Name 
    Next 
End Sub 

Private Sub UserForm_Initialize() 
    RefreshRangeList 
End Sub