idfordxxx wrote:ผมมีปัญหาในการนำตัวเลขจาก cell ใน excel ไปใส่ใน textbox หรือ label ซึ่งอยู่ใน Userform ของ vba ซึ่งcodeที่ผมเขียน ไม่เกิดการเคลื่อนย้ายข้อมูล ผมไม่รู้ว่าผิดพลาดตรงไหนช่วยแนะนำด้วยครับ ดังนี้
คำว่าไม่เกิดการเคลื่อนย้ายข้อมูลหมายความว่าอย่างไรครับ
ปกติการใช้ Event ตามลักษณะที่ถามมานี้ ควรจะเกิด Event ใน Object หนึ่งแล้วไปกำหนดค่าให้กับอีก Object หนึ่ง เช่นเกิดการคลิกปุ่มใด ๆ เกิดการเปลี่ยนแปลงใน TextBox1 แล้วค่อยกำหนดค่าให้กับ TextBox2 เช่นนี้เป็นต้น ถึงจะเห็นการเปลี่ยนแปลงว่าได้ทำอะไรและค่าแสดงเมื่อใด
แต่ที่ทำอยู่คือเมื่อเกิดการเปลี่ยนแปลงใน TextBox2 แล้วให้นำค่าในเซลล์มาใส่ใน TextBox2 การทำเช่นนี้ ไม่ว่าเราจะคีย์อะไรลงในใน TextBox2 ก็จะเปลี่ยนค่าไปเป็นข้อความในเซลล์ต้นทางทันที หากสิ่งที่ต้องการเป็นเช่นนี้ก็ไม่มีปัญหาอะไร สามารถทำได้ครับ ผมทดสอบ Code ตามประเด็นนี้แล้วก็ไม่เห็นว่ามีปัญหา
กรณีต้องการนำ Text ใน Label4 ไปเป็นค่าในเซลล์ ลองปรับ Copy เป็นตามด้านล่าง สำหรับการเขียนโปรแกรมใด ๆ ค่าที่ต้องการให้เป็นจะอยู่ด้านซ้ายเสมอ ส่วนค่าที่อยู่ด้านขวาคือค่าที่เรากำหนดค่าให้กับด้านซ้ายของเครื่องหมาย =
Code: Select all
Private Sub Label4_Click()
'Label4.Caption = Worksheets("sheet1").Range("b6").Value
Worksheets("sheet1").Range("b6").Value = Label4.Caption
End Sub
สำหรับการวาง Code ให้เป็น Code ดูตัวอย่างจากที่นี่ เพื่อจะได้สะดวกในการอ่านและการ Copy ไปทดสอบครับ
viewtopic.php?f=3&t=1187