Page 1 of 1

การใช้ ComboBox กับแผ่นงานครับ

Posted: Wed Mar 11, 2015 2:13 pm
by yodpao.b
การใช้ ComboBox กับแผ่นงานครับ
Capture.JPG
จากรูป
ถ้าใชรตัวด้านบน "ควบคุมฟอร์ม" มันไม่สามรถพิมพ์เองได้ จึงได้ลองใช้ ComboBox
ใช้ code ตามด้านล่างครับ

Code: Select all

Private Sub Worksheet_Activate()
Sheets("DATA0").Select
Range("F3").Select
Do While Not IsEmpty(ActiveCell.Value)
        ComboBox1.AddItem ActiveCell.Value
    ActiveCell.Offset(1, 0).Select
Loop
End Sub
ผลที่ได้ EEror ครับ
ใครทำได้ช่วยบอก code ด้วยครับ
ใช้ ComboBox ต้องการให้มันนำข้อมูล 1 -5 มาแสดง และสามารถพิมพ์เองได้

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Wed Mar 11, 2015 7:43 pm
by snasui
:D แนบไฟล์มาด้วย เพื่อน ๆ จะได้ช่วยทดสอบให้ได้ครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Fri Mar 13, 2015 2:43 pm
by yodpao.b
จากไฟล์แนบต้องการดึงข้อมูลใน คอลัม S3 มาโชวใน box

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Fri Mar 13, 2015 2:58 pm
by snasui
:D ดูตัวอย่างตามภาพด้านล่างครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Fri Mar 13, 2015 3:48 pm
by yodpao.b
ขอบคุณครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 12:06 am
by yodpao.b
Capture.JPG
จากรูปด้านบน ใช้ S3:S24
ในบางกรณี มีแค่ S3:S5 หรือ S3:S50 ไม่แน่ไม่นอนครับ จะต้องใช้สูตรใดครับ
ผมลองใช้ =OFFSET(S3,0,0,COUNTA(VAR1!S3:S100))
พอ Enter คำสั่งก็หานครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 6:24 am
by snasui
:D นำสูตรนั้นไปเขียน Range Name แล้วนำ Range Name นั้นมาใช้แทนการคีย์สูตรลงไปตรง ๆ ครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 12:52 pm
by yodpao.b
ผลที่ได้ดังนี้
Capture1.JPG
จากรูปด้านบนเมื่อเลือกในลำดับแรก ข้อมูลถูกต้อง
Capture2.JPG
จากรูปด้านบนเมื่อเลือกในลำดับที่สอง ข้อมูลถูกต้องแต่ไม่ครบ

Capture3.JPG
จากรูปด้านบนเมื่อเลือกในลำดับที่สาม ข้อมูลถูกต้องแต่มีช่องว่าง

ใชสูตร =OFFSET(VAR2!$AC$18,0,0,COUNTA(VAR2!$AC$18:$AC$100))

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 12:54 pm
by yodpao.b
ต่อ
Capture4.JPG
จากรูป ใช้สูตร ผลที่ได้ดังนี้
ใชสูตร =OFFSET(VAR2!$AC$18,0,0,COUNTA(VAR2!$AC$18:$AC$100))

ความต้องการคือ ให้ข้อมูล มาครบและไม่มีช่องว่างครับ
ไฟล์แนบ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 1:20 pm
by snasui
:D คุณ yodpao กำลังจะทำอะไร อธิบายมาให้ละเอียดประกอบภาพที่ให้มาตามโพสต์ด้านบนครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 2:53 pm
by yodpao.b
ต้องการให้ใน "ช่องที่โชว List ขนาดวัตต์" โชว์ข้อมูลตามที่แสดงในคอลัม AC18 หน้า VAR2 ลงมาจนไม่มีข้อมูลครับ

ผมจึงนำสูตรนั้นไปเขียน Range Name แล้วนำ Range Name มากรอกดังรูปด้านล่าง
Capture7.JPG

จากนั้นลองรัน
1. พบว่าเมื่อคลิก"ช่องชนิดหลอด" เป็น หลอดอินแคนเดสเซนต์ " ข้อมูลใน List ขนาดวัตต์" ออกมาครบถูกต้อง
2. แต่เมื่อลองคลิก"ช่องชนิดหลอด" เป็น หลอดตระกูลคอมแพคฟลูออเรสเซนต์ "ข้อมูลใน List ขนาดวัตต์" ออกมาไม่ครบ โดยดูได้จาก ในคอลัม AC18 หน้า VAR2
ที่ถูกต้องคือ ต้องโชวข้อมูล ในคอลัม AC18 หน้า VAR2 ให้ครับครับ
3. และเมื่อลองคลิก"ช่องชนิดหลอด" เป็น หลอดฟลูออเรสเซนต์ Tube "ข้อมูลใน List ขนาดวัตต์" ออกมาครบและข้อมูลควรมีแค่ 2 บรรทัด ไม่ควรมีช่องว่างครับดังรูปที่แสดงไว้ก่อนหน้านี้

อาจารย์ช่วยแนะนำด้วยครับ

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 3:10 pm
by snasui
:D ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

'Other code
Sheets("VAR").ComboBox1.ListFillRange = "ListVar2Watt1"
Sheets("VAR").Select
ComboBox1 = ""

Re: การใช้ ComboBox กับแผ่นงานครับ

Posted: Sat Mar 28, 2015 3:27 pm
by yodpao.b
ขอบคุณครับ ดีมากเลยครับ