엑셀 VBA 질문합니다 E8셀에있는 체크박스에 A9:A13셀에있는 내용이 목록에 나왔으면 좋겠고

엑셀 VBA 질문합니다 E8셀에있는 체크박스에 A9:A13셀에있는 내용이 목록에 나왔으면 좋겠고

E8셀에있는 체크박스에 A9:A13셀에있는 내용이 목록에 나왔으면 좋겠고

엑셀 VBA 질문합니다 관련하여 답변드립니다.

엑셀 VBA에서 특정 셀에 있는 체크박스가 체크되었을 때, 콤보박스에 선택된 단어를 표시하려면, 체크박스와 콤보박스에 대한 적절한 코드를 작성해야 합니다.

일반적인 방법은 아래와 같습니다:

1. 체크박스의 이름이 "CheckBox1"이라고 가정하겠습니다.

2. 콤보박스의 이름이 "ComboBox1"이라고 가정하겠습니다.

3. 체크박스가 C8 셀에 연결되어 있다고 가정하겠습니다.

이럴 때, 체크박스 상태에 따라 콤보박스에 값을 넣는 VBA 코드는 다음과 같습니다:

`vba

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then

' 체크박스가 체크되었을 때의 동작

ComboBox1.Value = "선택된 단어" ' 원하는 단어로 바꾸세요

Else

' 체크가 해제되었을 때의 동작 (필요하면)

ComboBox1.Value = ""

End If

End Sub

`

이 코드를 체크박스의 클릭 이벤트에 넣어두면, 체크박스를 체크하거나 해제할 때마다 콤보박스 내용이 자동으로 변경됩니다.

또는, 체크박스의 상태를 C8 셀 값과 연동하려면, 다음과 같이 C8 셀의 값이 체크 상태를 반영하도록 할 수 있습니다.

• 체크박스의 속성을 변경해서 셀에 연결하려면, 체크박스의 "LinkedCell" 속성에 C8 셀을 지정하세요.

• 그런 후, C8 셀의 값이 TRUE 또는 FALSE로 체크 여부를 나타내게 됩니다.

이 경우, C8 셀의 값이 TRUE일 때 콤보박스에 특정 단어를 넣기 위해서는 워크시트의 이벤트를 활용해 아래와 같이 작성할 수 있습니다:

`vba

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("C8")) Is Nothing Then

If Target.Value = True Then

ComboBox1.Value = "선택된 단어"

Else

ComboBox1.Value = ""

End If

End If

End Sub

`

이 방법을 활용하면, 체크박스의 상태에 따라 콤보박스에 원하는 단어를 자동으로 넣을 수 있습니다.

← 목록으로 돌아가기