2016-11-15 1 views
0

사용자 폼 모듈에 목록 상자가 있다고 가정합니다. 표시된 경우 세 개의 범위 이름이 포함됩니다. Range1, Range2 및 Range3이라고합시다. 사용자가 해당 항목을 클릭하면 해당 범위가 지워지고 범위 이름이 삭제되기를 원합니다.Excel 목록 상자에서 선택한 범위 지우기 및 범위 이름 삭제

코드를 작성하면 도움이 될만한 사람에게 감사드립니다.

+0

enter image description here

는 목록 상자 컨트롤의 클릭 이벤트에 대한 이벤트 핸들러를 작성합니다. 선택한 이름에 해당하는 범위에 대한 참조를 설정 한 다음 범위의'.Clear' 또는'ClearContents' 메서드를 사용하여 범위를 지 웁니다. 'RemoveItem' 메소드를 사용하여리스트 박스의리스트에서 이름을 제거하십시오. –

답변

0

는 사실 범위를 삭제. 또는 Range(.Value).ClearContents을 사용하여 데이터 만 지우거나 Range(.Value).Clear을 사용하여 데이터를 지우고 범위에서 서식을 지정할 수 있습니다.

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