Page 1 of 1

ย้ายข้อมูลอัตโนมัติ

Posted: Fri Mar 16, 2018 1:25 pm
by thawatchai1977
รบกวนด้วยครับ
เครื่องวัดงานจะส่งข้อมูลมาที่คอลัมน์ D
เงื่อนไขคือ
1.ถ้าข้อมูลที่ AC2 เป็น 2
- ให้ย้ายข้อมูลจาก D7:D36 ไปที่ E7:E36
- ลบข้อมูล D7:D36 ออกเพื่อรอเครื่องส่ค่ามาที่ D7:D36

2.ถ้าข้อมูลที่ AC2 เป็น 3
- ให้ย้ายข้อมูลจาก D7:D36 ไปที่ F7:F36
- ลบข้อมูล D7:D36 ออกเพื่อรอเครื่องส่ค่ามาที่ D7:D36

Re: ย้ายข้อมูลอัตโนมัติ

Posted: Fri Mar 16, 2018 1:38 pm
by logic
ลองโค้ดนี้ครับ

Code: Select all

Sub No2()
    If Range("AC2").Value = 2 Then
        Range("E7:E36").Value = Range("D7:D36").Value
        Range("D7:D36").ClearContents
    ElseIf Range("AC2").Value = 3 Then
        Range("F7:F36").Value = Range("D7:D36").Value
        Range("D7:D36").ClearContents
    End If
End Sub[code]

Re: ย้ายข้อมูลอัตโนมัติ

Posted: Sat Mar 17, 2018 6:28 am
by thawatchai1977
มีคำสั่งให้ Run ทำงานอัตโนมัติไหมครับ

Re: ย้ายข้อมูลอัตโนมัติ

Posted: Sat Mar 17, 2018 6:51 am
by snasui
:D การ Run อัตโนมัติต้องทราบว่าจะให้ Run ตอนเกิดเหตุการณ์ใด เช่น เปิดไฟล์, เกิดการเปลี่ยนแปลงค่าในเซลล์, การเลือกเซลล์ หรืออื่น ๆ

ลองศึกษาตัวอย่าง Code ได้จาก Link นี้ครับ Change Event

การใช้งาน VBA เป็นการเขียนโปรแกรม เป็นความรู้ระดับสูงกว่าการใช้งานตามปกติทั่วไป จะต้องเขียนกันมาเองก่อน ติดปัญหาแล้วค่อยถามกันตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ

Re: ย้ายข้อมูลอัตโนมัติ

Posted: Sat Mar 17, 2018 11:33 am
by thawatchai1977
จะให้ Run ตอนเกิดเหตุการณ์ AD2เท่ากับ OKให้สูตรทำงาน
1.ถ้า AC2 = 2 AD2 = OK
- ให้ย้ายข้อมูลจาก D7:D36 ไปที่ E7:E36
- ลบข้อมูล D7:D36 ออกเพื่อรอเครื่องส่งค่ามาที่ D7:D36
- และให้ลบ OK ที่ AD2

2.ถ้า AC2 = 3 เมื่อ AD2 = OK
- ให้ย้ายข้อมูลจาก D7:D36 ไปที่ F7:F36
- ลบข้อมูล D7:D36 ออกเพื่อรอเครื่องส่งค่ามาที่ D7:D36
- และให้ลบ OK ที่ AD2
- ให้ย้ายข้อมูลจาก D7:D36 ไปที่ E7:E36
-ลบข้อมูล D7:D36 ออกเพื่อรอเครื่องส่งค่ามาที่ D7:D36 ใหม่
- และให้ลบ OK ที่ AD2

ถ้าไม่ใช้ VBA พอจะมีวิธีอื่นไหมครับ

Re: ย้ายข้อมูลอัตโนมัติ

Posted: Sat Mar 17, 2018 11:56 am
by snasui
:D ที่อธิบายมาไม่ใช่เหตุการณ์ครับ เหตุการณ์เช่นการเลือกเซลล์ การเปลี่ยนค่าในเซลล์ การเลือกชีต ฯลฯ

เมื่อเกิตเหตุการณ์นั้น Code จะทำงาน จากอธิบายมาเหตุการณ์ที่เกี่ยวข้องคือ การเปลี่ยนค่าในเซลล์ เมื่อเปลี่ยนค่าในเซลล์แล้ว Code จะทำงานโดยตรวจสอบเงื่อนไขที่แจ้งมา

สำหรับการทำงานลักษณะนั้นจะต้องใช้ VBA ไม่มีทางเลือกอื่น จำเป็นต้องเขียนมาเองก่อน ศึกษาตาม Link ที่ผมให้ไปใน Post #4 ติดแล้วค่อยถามต่อครับ