Page 1 of 1
ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 11:03 am
by wisitsakbenz
เรียนอาจารย์
ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
ต้องปรับสูตร หรือเขียน Code อย่างไรครับ
ขอบคุณครับ
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 12:58 pm
by puriwutpokin
แสดงข้อมูลที่เลือกความหมายคือ ให้อะไรไปแสดงที่ไหนจากข้อมูลไหนครับ ลองทำตัวอย่างคำตอบและข้อมูลที่ว่ามาดูครับจะได้สะดวกต่อการตอบของเพื่อนๆสมาชิกครับ
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 1:25 pm
by wisitsakbenz
เรียนอาจารย์
ค้นหาชื่อ เช่น A
ทำงานที่จะแสดง > โรงเรียน (โดยใช้สูตร Vlookup)
อยากให้ Optionbutton แสดง โรงเรียน ด้วย
ค้นหาชื่อ เช่น B
ทำงานที่จะแสดง > โรงพยาบาล (โดยใช้สูตร Vlookup)
อยากให้ Optionbutton แสดง โรงพยาบาลด้วย
ขอบคุณครับ
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 2:33 pm
by puriwutpokin
ใช้เป็น Event ดูครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D2") = "A" Then
OptionButton2.Value = True
ElseIf Range("D2") = "B" Then
OptionButton1.Value = True
ElseIf Range("D2") = "C" Then
OptionButton3.Value = True
End If
End Sub
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 3:13 pm
by wisitsakbenz
เรียน อาจารย์
น่าจะเข้าใจผิดครับ
เช่น
ค้นหาชื่อ เช่น A
ทำงานที่ (C4) จะแสดง > โรงเรียน (โดยใช้สูตร Vlookup)
ค้นหาชื่อ เช่น B
ทำงานที่ (C4) จะแสดง > โรงพยาบาล (โดยใช้สูตร Vlookup)
ผมอยากให้ Optionbutton ถูกคลิกตามค่าของ (C4) และสามารถเปลี่ยนค่าได้ ถ้าเลือกที่ทำงานอื่น
ต้องปรับ Code อย่างไรครับ รบกวนด้วยครับ ขอบคุณครับ
Code: Select all
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then Sheets("Input").Range("C4").Value = "โรงพยาบาล"
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then Sheets("Input").Range("C4").Value = "โรงเรียน"
End Sub
Private Sub OptionButton3_Click()
If OptionButton3.Value = True Then Sheets("Input").Range("C4").Value = "อนามัย"
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("C4") = "A" Then
OptionButton2.Value = True
ElseIf Range("C4") = "B" Then
OptionButton1.Value = True
ElseIf Range("C4") = "C" Then
OptionButton3.Value = True
End If
End Sub
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 3:28 pm
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
Dim shChn As Boolean
Private Sub OptionButton1_Click()
Application.EnableEvents = False
If shChn Then Exit Sub
If OptionButton1.Value = True Then Sheets("Input").Range("D2").Value = "A"
Application.EnableEvents = True
End Sub
Private Sub OptionButton2_Click()
Application.EnableEvents = False
If shChn Then Exit Sub
If OptionButton2.Value = True Then Sheets("Input").Range("D2").Value = "B"
Application.EnableEvents = True
End Sub
Private Sub OptionButton3_Click()
Application.EnableEvents = False
If shChn Then Exit Sub
If OptionButton3.Value = True Then Sheets("Input").Range("D2").Value = "C"
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
shChn = True
If Target.Address(0, 0) = "D2" Then
Select Case Me.Range("c4").Value
Case "โรงพยาบาล"
Me.OptionButton1.Value = True
Case "โรงเรียน"
Me.OptionButton2.Value = True
Case "อนามัย"
Me.OptionButton3.Value = True
End Select
End If
shChn = False
Application.EnableEvents = True
End Sub
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 3:58 pm
by wisitsakbenz
เรียน อาจารย์ Snasui
นำ Code ไปแก้ไขแล้ว
ค้นหาชื่อ > A
เลือกเปลี่ยนสถานที่จาก OptionBox พอคลิกเลือกเปลี่ยนสถานที่ ช่องค้นหาจะเปลี่ยนด้วยครับ
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 4:40 pm
by snasui

ก็ต้องเป็นเช่นนั้นครับ
ลักษณะคือ
- ค่าใน D2 เอาไปแสดงใน C4 ซึ่งเขียนสูตร Vlookup เอาไว้
- เอาค่าใน C4 ไปกำหนด Option Button
การเลือก Option ก็ต้องไปเปลี่ยนใน D2 เช่นกัน จะไปเปลี่ยนตรง ๆ ใน C4 ไม่ได้เพราะจะเป็นการทำลายสูตร
ไม่เช่นนั้นต้องออกแบบการทำงานมาใหม่ครับ
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Fri Apr 23, 2021 7:04 pm
by wisitsakbenz
เรียน อาจารย์ snasui
เดี่ยวลองปรับกระบวนการใหม่ดูครับ ไว้เรียนถามใหม่ครับ. ขอบคุณสำหรับคำแนะนำครับ
Re: ค้นหาชื่อ แล้วอยากให้ Optionbutton แสดงข้อมูลที่เลือกด้วย
Posted: Sat Apr 24, 2021 1:06 am
by Bo_ry
แบบนี้มั้ย
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Dim o As OLEObject
If Target(1).Address = "$D$2" Then
[C4].Value = Application.VLookup([D2], [Data!A1:B5], 2, 0)
For Each o In Me.OLEObjects
o.Object.Value = o.Object.Caption = [C4]
Next
End If
End Sub
Private Sub OptionButton1_Click()
Application.EnableEvents = False
If OptionButton1.Value Then [C4] = OptionButton1.Caption
Application.EnableEvents = True
End Sub
Private Sub OptionButton2_Click()
Application.EnableEvents = False
If OptionButton2.Value Then [C4] = OptionButton2.Caption
Application.EnableEvents = True
End Sub
Private Sub OptionButton3_Click()
Application.EnableEvents = False
If OptionButton3.Value Then [C4] = OptionButton3.Caption
Application.EnableEvents = True
End Sub