snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sdmania
Bronze
Posts: 320 Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์
#1
Post
by sdmania » Wed Dec 29, 2010 3:41 pm
ตอนนี้ผมได้แต่กำหนดค่าPropertyของ listBox ตรงช่องRowSourceให้ดึงข้อมูลตั้งแต่ Sheet1!a2-a17
ถ้าผมคีย์ข้อมูลเพิ่มลงในexcel เพิ่มลงไป a18:a20 ตัวlistboxก็จะยังคงแสดงค่าแค่ a2:a17
ขอทราบวิธีเขียนCodeให้ RowSource ครอบคลุมไปถึงcell ที่เราเพิ่งAddข้อมูลใหม่ครับ
แฮ่ม
เมื่อมีAdd แล้วก็ขอ Del ด้วยครับ ขอบคุณครับอาจารย์
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Wed Dec 29, 2010 7:49 pm
ช่วยแนบ Code เดิมมาด้วยครับ
sdmania
Bronze
Posts: 320 Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์
#3
Post
by sdmania » Thu Dec 30, 2010 8:43 am
ขออภัยครับ ลืมส่งไฟล์
เรื่องการโชว์รูปผมทำตามที่อาจารย์สอนได้แล้วครับ เหลือเรื่องในlistBoxนี่แหละครับผม
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Thu Dec 30, 2010 9:46 am
ลองเปลี่ยน Code เป็นตามด้านล่างครับ
Code: Select all
Private Sub lstBox_Click()
myPicture = "\\Server\Test_pic_car\" & lstBox & ".jpg"
With Sheets("Sheet1")
lstBox.RowSource = .Range(.Range("A2"), .Range("A65536").End(xlUp))
End With
imgBox.Picture = LoadPicture(myPicture)
End Sub
sdmania
Bronze
Posts: 320 Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์
#5
Post
by sdmania » Thu Dec 30, 2010 10:29 am
ยังไม่ได้ครับอาจารย์ รบกวนช่วยดู code ในlstBox ให้ด้วยครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Thu Dec 30, 2010 11:46 am
โทษทีครับ Listbox ไม่สามารถใช้ Range ตรง ๆ ได้ครับ
ยกเลิก Code ที่ผมให้ไป แก้กลับมาเหมือนเดิมแล้วปรับ Code ที่ Module1 เป็นตามด้านล่าง เป็นการใช้ AddItem แทนครับ
Code: Select all
Sub Show002()
Dim i As Integer
For i = 2 To Sheets("Sheet1").Range("A65536").End(xlUp).Row
frmData02.lstBox.AddItem Sheets("Sheet1").Cells(i, 1)
Next
frmData02.Show
End Sub
sdmania
Bronze
Posts: 320 Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์
#7
Post
by sdmania » Tue Jan 04, 2011 9:33 am
สวัสดีปีใหม่ครับอาจารย์
ผมทำลองแล้วเกิดerror ครับ
รบกวนอาจารย์ตรวจด้วยครับ แหะๆๆ ผมยกเลิกCodeอันที่อาจารย์ให้ยกเลิกแล้วนะครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Tue Jan 04, 2011 10:11 am
ลองเพิ่มบรรทัดนี้เข้าไปช่วยครับ
frmData02.lstBox.RowSource = ""
จะได้เป็น
Code: Select all
Sub Show002()
Dim i As Integer
frmData02.lstBox.RowSource = ""
For i = 2 To Sheets("Sheet1").Range("A65536").End(xlUp).Row
frmData02.lstBox.AddItem Sheets("Sheet1").Cells(i, 1)
Next
frmData02.Show
End Sub
sdmania
Bronze
Posts: 320 Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์
#9
Post
by sdmania » Tue Jan 04, 2011 10:45 am
widtara
Member
Posts: 76 Joined: Tue Jun 29, 2010 11:27 am
#10
Post
by widtara » Tue Jan 18, 2011 2:06 pm
ลองทำตามไม่เป็นเลยค่ะ ไม่ทราบว่าถ้าเรากดปุ่ม Button 4 ที่book1 จะแสดงผลลัพธ์ยังงัยค่ะ คือว่ามีงานที่ต้องทำลักษณะนี้แต่ยังไม่เข้าใจขั้นตอนการทำงานและแสดงออกมาเลยค่ะ
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#11
Post
by snasui » Wed Jan 19, 2011 9:12 am
หาก Code ถูกต้องเมื่อคลิก Button4 แล้วจะแสดงผลตามด้านล่างครับ
ClickButtonCallForm.gif
กรณีที่ทำถูกต้องแล้วแต่ Macro ไม่ทำงาน เป็นไปได้ว่าได้กำหนด Security เอาไว้ ลอง Search ดูการกำหนดเกี่ยวกับ
Security ในฟอรั่มนี้จะมีค่อนข้างเยอะครับ
You do not have the required permissions to view the files attached to this post.
sdmania
Bronze
Posts: 320 Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์
#12
Post
by sdmania » Wed Jan 19, 2011 10:03 am
อาจเป็นเรื่อง โฟลเดอร์ที่เก็บรูปด้วยครับ+ชื่อรูปต้องตั้งชื่อตามที่sheet1บันทึกไว้ครับ ทีละภาพครับค่อยๆทำ
เดี๋ยวผมจะลองค้นๆหาตัวอย่างตัวนี้ให้นะครับ