:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

ต้องการแสดงจำนวนเงินในTextBox

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

ต้องการแสดงจำนวนเงินในTextBox

#1

Post by Bafnet »

ใส่จำนวนเงิน 10000 ต้องการแสดงค่าหลังจากคีย์ข้อมูลเป็น 10,0000 ผมกำหนดค่าในTextBox1 ดังนี้
Private Sub TextBox1_AfterUpdate()
TextBox1.Value = format(TextBox1.Value, "#,##0.00")
End Sub
เกิดDebugแสดงผลผิดพลาดที่คำว่าformat ไม่ทราบว่าจะเขียนให้ถูกต้องอย่างไรครับ/ รบกวนอีกเรื่องครับความสัมพันธ์ของtxtBox-ImgBox
txtID = รับค่าจากเลขบัตรประชาชน
ImgCustom = แสดงผลรูปภาพ
....................................
lstCustom_Enter()
myPic = "D:\Data\"& txtID & ".jpg"
ImgCustom.Picture = LoadPicture(myPic)
End Sub
ปัญหาคือเมื่อไม่มีรูปภาพที่ชื่อเดียวกับtxtIDในแฟ้มที่กำหนดก็จะdebug ผมอยากสร้างรูปหนึ่งในลักษณะเป็นรูปหลัก ถ้าไม่มีรูปตามที่กำหนด(myPic) ก็ให้แสดงรูปหลักแทนพร้อมแสดงMsgBox"ลูกค้ารายนี้ยังไม่มีข้อมูลรูปภาพในฐานข้อมูล"
จะเขียนคำสั่งเพิ่มเติมอย่างไรได้ครับ รบกวนอาจารย์และพี่ๆผู้รู้ด้วยครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการแสดงจำนวนเงินในTextBox

#2

Post by snasui »

Bafnet wrote:Private Sub TextBox1_AfterUpdate()
TextBox1.Value = format(TextBox1.Value, "#,##0.00")
End Sub
เท่าที่ทดสอบสามารถแสดงผลได้ครับ
Bafnet wrote:รบกวนอีกเรื่องครับความสัมพันธ์ของtxtBox-ImgBox
txtID = รับค่าจากเลขบัตรประชาชน
ImgCustom = แสดงผลรูปภาพ
....................................
lstCustom_Enter()
myPic = "D:\Data\"& txtID & ".jpg"
ImgCustom.Picture = LoadPicture(myPic)
End Sub
ปัญหาคือเมื่อไม่มีรูปภาพที่ชื่อเดียวกับtxtIDในแฟ้มที่กำหนดก็จะdebug ผมอยากสร้างรูปหนึ่งในลักษณะเป็นรูปหลัก ถ้าไม่มีรูปตามที่กำหนด(myPic) ก็ให้แสดงรูปหลักแทนพร้อมแสดงMsgBox"ลูกค้ารายนี้ยังไม่มีข้อมูลรูปภาพในฐานข้อมูล"
จะเขียนคำสั่งเพิ่มเติมอย่างไรได้ครับ รบกวนอาจารย์และพี่ๆผู้รู้ด้วยครับผม
ลองปรับเป็น

Code: Select all

Sub lstCustom_Enter()
On Error Resume Next
myPic = "D:\Data\"& txtID & ".jpg"
ImgCustom.Picture = LoadPicture(myPic)
  If Err <> 0 Then
    myPic = "D:\Data\"& MainPic & ".jpg"
    MsgBox "Customer's picture not available"
    Exit Sub
  EndIf
End Sub
MainPic คือรูปหลักที่ต้องการให้แสดง หากยังไม่ได้ลองส่งไฟล์ตัวอย่างมาครับจะได้สะดวกในการทดสอบ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: ต้องการแสดงจำนวนเงินในTextBox

#3

Post by Bafnet »

สวัสดีครับอาจารย์
เรื่องTextBox ยังคงใช้ไม่ได้ครับ/ส่วนเรื่องการแสดงรูปกรณี Err นั้นทำได้แล้วครับ แต่ต้องเขียนคำสั่งLoadPicture เพิ่มอีกหนึ่งคำสั่งครับ
ผมอยากให้อาจารย์ดูไฟล์ให้หน่อยนะครับ ช่องรับค่าจำนวนเงินอยู่หน้าระบบเปิดบัญชีเงินฝาก(ด้านล่างซ้ายมือ)
file.BES 4U.xls http://www.upload-thai.com/download.php ... 2240f34367

User=admin
Password=admin
การส่งข้อมูล(บันทึก)/หรือแก้ไขผมเขียนโดยใช้ Target = OFFSET(Ref,COUNTA(Sheet!$A:$A)-1,0,1,32) แล้วส่งค่า Source ที่กำหนดไปต่อท้ายข้อมูลในตาราง
การเขียนคำสั่งแบบนี้พอไปได้ไหมครับหรือ
Cmdบันทึกควรเขียนอย่างไร Cmdแก้ไขข้อมูลควรเขียนอย่างไร
กรุณาด้วยนะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการแสดงจำนวนเงินในTextBox

#4

Post by snasui »

Bafnet wrote:เรื่องการแสดงรูปกรณี Err นั้นทำได้แล้วครับ แต่ต้องเขียนคำสั่งLoadPicture เพิ่มอีกหนึ่งคำสั่งครับ
ยินดีด้วยครับ Code ที่ผมให้ไปเขียนตกไปบรรทัดนึงครับ ซึ่งควรจะเปรับป็นตามด้านล่าง :oops:

Code: Select all

Sub lstCustom_Enter()
On Error Resume Next
myPic = "D:\Data\"& txtID & ".jpg"
ImgCustom.Picture = LoadPicture(myPic)
  If Err <> 0 Then
    myPic = "D:\Data\"& MainPic & ".jpg"
    ImgCustom.Picture = LoadPicture(myPic) '<== Add this line
    MsgBox "Customer's picture not available"
  EndIf
End Sub
กรณีที่ Function Format ใช้ไม่ได้เพราะว่าคุณ Bafnet ไปใช้ Format เป็นชื่อ Procedure ใน Module2 ตามด้านล่าง ซึ่งควรลบหรือเปลี่ยนชื่อเพื่อไม่ให้ Code Error ครับ

Code: Select all

Sub format()
'
' format Macro
' xxx
'

'
    Range("X3").Select
    Selection.NumberFormat = "0000000000000000"
    Range("W13").Select
End Sub
Bafnet wrote:การส่งข้อมูล(บันทึก)/หรือแก้ไขผมเขียนโดยใช้ Target = OFFSET(Ref,COUNTA(Sheet!$A:$A)-1,0,1,32) แล้วส่งค่า Source ที่กำหนดไปต่อท้ายข้อมูลในตาราง
การเขียน Code เพื่อส่งข้อมูลไปบันทึกท้ายตารางเราสามารถกำหนดใน Code VBA เป็น

Code: Select all

Dim Target As Range
Set Target = Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
เป็นการกำหนด Target ให้เป็นเซลล์หลังจากเซลล์สุดท้ายที่มีข้อมูล
กรณีกำหนดด้วยการให้ชื่อเซลล์ตามตัวอย่างที่ถามมาคิดว่าสามารถใช้ได้แล้วครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: ต้องการแสดงจำนวนเงินในTextBox

#5

Post by Bafnet »

ขอบคุณครับอาจารย์
โมดูล2 ผมลองทำดูตอนที่จะสั่งฟอร์แมทแล้วลืมลบออก
ทำได้แล้วครับ :mrgreen:
ขอบคุณมากๆครับ รักษาสุขภาพนะครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ต้องการแสดงจำนวนเงินในTextBox

#6

Post by bank9597 »

ขอบคุณครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Post Reply