Page 1 of 1

แลกเมาส์ผ่านแล้วใส่ค่า

Posted: Wed Jun 29, 2016 6:16 pm
by Chanon.witt
เรียน พี่ๆและอาจารย์
ผมอยากจะทำแบบลากเม้าส์ผ่าน รูป หรือ cell ที่กำหนดแล้วจะนำค่าที่อยู่ใน Sheet ต่างๆแสดงขึ้นมา แต่ถ้าลากเม้าออกมาจะไม่แสดงค่าในตารางนั้นๆ ตามรูป
Start2.JPG
Start3.JPG

Re: แลกเมาส์ผ่านแล้วใส่ค่า

Posted: Wed Jun 29, 2016 6:20 pm
by Chanon.witt
Start4.JPG
Start5.JPG
ผมลองอ่านๆจากพี่ในเวปแล้วลงมาเขียนดูแต่ทำไม่สำเร็จ ต้องของความช่วยเหลือพี่ๆและอาจารย์ด้วยครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Address
        Case "Show_U1"
            Range("H2").Select
            ActiveCell.FormulaR1C1 = "U1"
        Case "Show_U2"
            Range("H2").Select
            ActiveCell.FormulaR1C1 = "U2"
        Case "Show_U3"
            Range("H2").Select
            ActiveCell.FormulaR1C1 = "U3"
        Case "Show_U4"
            Range("H2").Select
            ActiveCell.FormulaR1C1 = "U4"

Re: แลกเมาส์ผ่านแล้วใส่ค่า

Posted: Wed Jun 29, 2016 7:02 pm
by snasui
:D ควรจะเขียน Code มาให้ครบทุกบรรทัด ได้เท่าไรก็เท่านั้นแต่จบด้วย End Sub เช่นนี้ครับ

สำหรับงานนี้ต้องใช้ ActiveX Control เข้ามาช่วย โดยใช้ MouseMove Event ไม่ใช่ Change Event เนื่องจากต้องการให้ Mouse วิ่งผ่านแล้ว Code ทำงาน ไม่ใช่เปลี่ยนค่าในเซลล์แล้ว Code ทำงาน

หลักการคร่าว ๆ คือ
  1. สร้าง Object ใด ๆ ด้วย ActiveX Control เอาไว้เป็นฉากหลัง สังเกตได้จากกล่องเครื่องมือโปรแกรมจะระบุไว้ว่าชุดไหนเป็น Form Control ชุดไหนเป็น ActiveX Control
  2. ใช้ MouseMove Event เข้ามาจัดการ ดูตัวอย่างได้ที่นี่ครับ http://stackoverflow.com/questions/1220 ... erse-event

Re: แลกเมาส์ผ่านแล้วใส่ค่า

Posted: Wed Jun 29, 2016 10:35 pm
by Chanon.witt
ถ้าใช้หลักการเดียวกับไฟล์นี้ได้ไหมครับ อาจารย์
แล้วต้องใช้ Code แบบไหนบ้างครับ
SS1.JPG

ไฟล์ Credits Jordan Goldmeier

Re: แลกเมาส์ผ่านแล้วใส่ค่า

Posted: Thu Jun 30, 2016 9:17 pm
by snasui
:D สามารถใช้ Hyperlink เหมือนไฟล์ที่แนบมาได้เช่นกัน

การปรับ Code จะต้องปรับมาเองเพื่อให้ตรงกับงานที่ต้องการ ติดตรงไหนค่อยถามกันต่อครับ