snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
godman
Silver
Posts: 643 Joined: Mon Jul 05, 2010 6:18 pm
#1
Post
by godman » Sat Feb 16, 2013 10:19 am
สวัสดีครับ
พอดีผมพยายามมาหลายวันแล้วหาข้อมูลเต็มที่แล้ว แต่ยังไม่ได้ตามต้องการคือว่า ผมอยากให้ USERFORM ที่มี TEXTBOX อยู่ด้วยแสดงค่าจากการคำนวณจริงๆแล้วก็คือจากสูตร index มาครับ ผมใช้ Code นี้แต่มันไม่ขึ้น ผมอยากให้มันดูได้อย่างเดียวไม่สามารถแก้ไขได้ ครับ
Code: Select all
Private Sub TextBox1_Change()
Me.TextBox11.Value = Sheets("TempCourseNo").Range("J2").Value
End Sub
ขอคำแนะนำด้วยครับ ว่าต้องเพิ่มหรือปรับเปลี่ยนโค้ดว่าอะไร
ข้อมูลอยู่ในไฟล์แนบ มีชี้ต USEFORM มีชี้ต TempCourseNo ครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Sat Feb 16, 2013 10:32 am
ลองปรับ Code ที่
ShowDialog1 เป็นด้านล่างครับ
Code: Select all
Sub ShowDialog1()
UserForm1.TextBox1 = Sheets("TempCourseNo").Range("J2")
UserForm1.Show
End Sub
godman
Silver
Posts: 643 Joined: Mon Jul 05, 2010 6:18 pm
#3
Post
by godman » Sat Feb 16, 2013 1:33 pm
เจ๋ง ครับ ทำได้เลย หลังจากหาคำตอบมา 2 วันดูในหนังสือต่างๆ ก็แล้ว พบคำตอบแล้ว ดีใจมากครับ ขอบพระคุณมากครับ
godman
Silver
Posts: 643 Joined: Mon Jul 05, 2010 6:18 pm
#4
Post
by godman » Sat Feb 16, 2013 1:59 pm
สวัสดีครับ
ผมมีปัญหาเพิ่มเติม ครานี้ผมได้ใส่ COMBO BOX เพื่อให้ผู้ใช้ได้เลือกรหัสวิชา โดยรหัสวิชาก็จะถูกผูกสูตร Index match ใน Sheet แต่ว่าเมื่อเปลี่ยนค่าตาม Combo Box ในขณะที่เปิด USERFORM อยู่ ค่าในนี้ไม่เปลี่ยนตาม Sheet EXCEL ครับ ทำอย่างไรให้ค่ามันแสดงได้ตามที่สูตร Index match รับค่าจากชี้ต
Code: Select all
Private Sub ComboBox1_Change()
Range("TempCourseNo!I2").Value = ComboBox1.Value
End Sub
Private Sub UserForm_Initialize()
Dim cLoc As Range
Dim ws As Worksheet
Set ws = Worksheets("CourseNameData")
For Each cLoc In ws.Range("Course")
With Me.ComboBox1
.AddItem cLoc.Value
End With
Next cLoc
End Sub
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#5
Post
by snasui » Sat Feb 16, 2013 2:39 pm
การจะให้เปลียนค่าตามในเซลล์ก็ต้องไปเขียน Code บอกโปรแกรมครับ เหมือนการเขียนสูตร หากต้องการใหเซลล์ปลายทางเปลี่ยนค่าก็ต้องไปบอกว่าให้เปลี่ยนตามค่าในเซลล์ต้นทางเซลล์ไหน
ตัวอย่างเมื่อเลือกค่าใน ComboBox1 ก็ให้ TextBox1 รับค่ามาจาก J2 สามารถเขียน Code ตามด้านล่างครับ
Code: Select all
Private Sub ComboBox1_Change()
Sheets("TempCourseNo").Range("I2").Value = ComboBox1.Value
UserForm1.TextBox1 = Sheets("TempCourseNo").Range("J2")
End Sub
godman
Silver
Posts: 643 Joined: Mon Jul 05, 2010 6:18 pm
#6
Post
by godman » Sat Feb 16, 2013 2:50 pm
ขอบคุณมากครับ ผมทำได้แล้วครับ จากการนำคำแนะนำไปประยุกต์ใช้