연결된 드롭다운 목록?

연결된 드롭다운 목록?

Excel에서 2개의 드롭다운 목록을 연결하고 싶습니다. 해결책을 찾는 것은 항상 결과를 낳았습니다.계단식드롭다운 목록. 내가 원하는 것은 동일한 옵션이 있는 두 개의 드롭다운 목록입니다. 하나를 변경하면 다른 것도 변경됩니다.

단순히 서로 참조하려고 시도했지만 당연히 순환 참조 오류가 발생합니다. 가능하다면 VBA 없이 이 작업을 수행하고 싶지만 가능하지 않다면 이해합니다.

답변1

두 셀을 모두 편집 가능하게 하려면 VBA 없이는 설명하는 작업을 수행할 수 없습니다.

아시다시피 이러한 수식을 서로 참조하면 순환 참조가 생성됩니다. 작동하더라도 드롭다운에서 값을 선택하자마자 모든 수식을 덮어쓰게 됩니다.

따라서 VBA가 유일한 옵션입니다. 셀이 서로 다른 두 시트에 있는 경우 이에 대한 코드는 다음과 같습니다.

Sheet1의 시트 모듈에서:

Private Sub Worksheet_Change(ByVal Target As Range)
' monitor cell A1
If Not Intersect(Target, Range("A1")) Is Nothing Then
    Application.EnableEvents = False 'prevent endless loop of events
    ' copy selected value to Sheet2, cell b1
    ThisWorkbook.Worksheets("Sheet2").Range("B1") = Range("A1")
    Application.EnableEvents = True
End If
End Sub

Sheet2의 시트 모듈에서

Private Sub Worksheet_Change(ByVal Target As Range)
' monitor cell B1 on sheet 2
If Not Intersect(Target, Range("B1")) Is Nothing Then
    Application.EnableEvents = False 'prevent endless loop of events
    ' copy selected value to Sheet1, cell A1
    ThisWorkbook.Worksheets("Sheet1").Range("A1") = Range("B1")
    Application.EnableEvents = True
End If
End Sub

답변2

Teylyn이 말했듯이 원하는대로 정확하게 작동하는 것은 불가능합니다.

VBA 이외의 또 다른 해결 방법은 데이터 유효성 검사의 드롭다운 목록 대신 양식 컨트롤 드롭다운 목록을 사용하는 것입니다.

  • 개발자 탭으로 이동합니다(표시되지 않으면 지침에 따라 활성화하세요).여기) - 삽입 - 양식 컨트롤 - "콤보 상자(양식 컨트롤)"
  • 그것을 삽입하고 셀을 덮도록 크기를 조정하십시오.
  • 마우스 오른쪽 버튼을 클릭하고 "제어"로 이동하세요.
  • "입력 범위"와 "셀 링크"를 입력하세요.
  • 이제 복사하여 다른 곳에 붙여넣으세요. 둘 다 동일한 셀 링크를 갖고 있으므로 둘 중 하나를 변경하면 다른 것도 업데이트됩니다.

관련 정보