: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#1

Post by sdmania »

สวัสดีครับอาจารย์ และทุกท่านที่เข้ามาอ่านกระทู้นี้ครับ

ผมใช้ excel 2003+เมนูภาษาไทยครับ

ผมแนบไฟล์ตัวอย่าง อยู่ที่ sheet1ครับ

ในเซล d1 ผมจัดรูปแบบcellโดยใช้ กำหนดเอง--> [$-41E]d mmmm yyyy ทำให้ค่าในเซลรับรูปแบบวันที่แบบ พ.ศ.ได้ครับ

ต่อมาผมลองหัดใช้ textbox(ตัวที่ดึงมาจาก โหมดออกแบบ)ครับ ผมเปิด property ---> linked cell ผมพิมพ์ d1(เพื่อรับค่า-ส่งค่าที่ D1)

ปัญหา ผมไม่สามารถแสดงค่าวันที่ใน textbox ได้ครับ รบกวนแนะนำวิธีให้ด้วยครับ


ขอถามในกระทู้นี้ต่อเนื่องเลยนะครับ
ปัญหาการแสดงค่าของTextbox หากเราจะกำหนดให้ค่าที่รับมาจากcell ส่งไปให้ textboxแสดงผล ค่าทศนิยม2ตำแหน่ง หรือการใส่ลูกน้ำหลักพัน ต้องทำอย่างไรบ้างครับรบกวนขอตัวอย่างด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#2

Post by snasui »

:D ต้องกำหนดด้วย VBA ซึ่งต้องลองเขียนมาก่อน ติดตรงไหนแล้วค่อยถามกันตามกฎข้อ 5 ด้านบนครับ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#3

Post by sdmania »

แหะๆ ขอโทษครับ
ผมเปิด โหมดออกแบบ(ที่เราใช้ฟอร์มของ vbe ได้น่ะครับ)
เลือก textbox
ผมคลิกขวาที่ตัวtextbox เลือกคุณสมบัติ( เมนูภาษาอังกฤษน่าจะ property ครับ) เลือก linkCell ผมเลือกให้ไปที่D1 ครับ
ปิดโหมดออกแบบ


จากนั้นจึง เปิดหน้าต่าง vbe ปุ่ม alt+f11 ครับ

Code: Select all

Private Sub TextBox2_Change()
[d1].Value = TextBox2.Value
End Sub
ให้ textbox รับค่าcell d1มาที่textboxเพื่อโชว์ค่าได้ และเมื่อเราพิมพ์ค่าใดๆที่textbox ค่าในcell D1 ก็จะเปลี่ยนตามครับ
(ผมลองไปหาใน google เค้าบอกให้ใช้ format ผมก็เอามาใช้ไม่เป็นน่ะครับ คือไม่รู้ว่าต้องเอาอะไรวางตรงไหน หรือใส่ลูกน้ำตอนใดน่ะครับ) แหะๆ :(


ตอนแสดงผลใน sheet1
เซลd1 ผมใส่ค่า 12-6-2556 ในเซลd1จะขึ้นว่า 12 มิถุนายน 2556
แต่ใน textbox( ชื่อ textbox2 ) ขึ้นค่า 239033 ครับ

เป้าหมายคือ อยากให้ข้อมูลใน textbox ขึ้นเป็นวันที่ "12 มิถุนายน 2556 "เหมือนในเซล์d1 ครับ
และ เราสามารถพิมพ์ในtextbox ให้เป็นวันที่อื่น เช่น เดิมเป็นวันที่12 มิถุนายน 2556 เราพิมพ์ลงไปในtextbox ว่า"12-7-2556"
เซลล์D1 ก็รับค่าแสดงเป็น "12 กรกฏาคม 2556"ได้ด้วยครับ ตั้งใจจะให้พิมพ์แก้ไขที่textbox เซลD1ก็เปลี่ยนค่าตามtextboxได้ด้วยครับ

ทำอย่างไรดีครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#4

Post by snasui »

:D ในกรณี้นี้ผมทราบตั้งแต่แรกครับว่าที่ทำมาแล้วนั้นทำมาด้วยวิธีการใดและทราบว่าต้องการจะทำอะไรเช่นกัน :lol:

การจะแปลงค่าที่คีย์เป็นวันที่ให้มาแสดงใน TextBox หรือ Object อื่น ให้เป็น Format แบบในเซลล์นั้นต้องใช้ VBA เข้าไปกำหนด Format ของ Object นั้นครับ

ยกตัวอย่างเช่น TextBox1.Text = Format(TextBox1."dd-mmmm-yyyy") เป็นต้น
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#5

Post by sdmania »

ขออภัยครับ ผมปล่อยไก่อีกแล้ว :rz:


ผมไปลองทำมาใหม่ ให้อาจารย์ช่วยชี้แนะครับ

Code: Select all

Private Sub TextBox2_Change_01()
TextBox2.Text = Format(TextBox2, "[$-41e]d mmmm yyyy")

คำถามครับ
1.ในตัวcode textbox2_change_01 นั้น ผมนึกว่า textbox จะแสดงค่าเป็นวันที่ แบบ พ.ศ. แต่ไม่ได้ครับ ขออาจารย์ชี้แนะด้วยครับ มันเกินมา +543 เสมอครับ

2.ตัวtextbox2 ตอนนี้เมื่อผมจะเข้าไปกรอกข้อมูลเพิ่มเติม ทำไมมันเอาไปต่อกับวันที่เดิมครับ ทำอย่างไรให้วิธีกรอกข้อมูล (ของใหม่มา ของเก่าหายไป)ครับ รบกวนด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#6

Post by snasui »

:D การคีย์ตัวเลขในเซลล์ให้คีย์เป็น ค.ศ. เท่านั้นและเป็นเช่นนี้เสมอ เราไม่คีย์ตัวเลขวันเดือนปีเป็น พ.ศ. เพราะจะขาดความสะดวกในการนำไปใช้ครับ
User avatar
sdmania
Bronze
Bronze
Posts: 320
Joined: Tue Sep 07, 2010 11:38 am
Location: นครสวรรค์

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#7

Post by sdmania »

ขอขอบคุณอาจารย์ครับ
ผมขอไปลองหาวิธี ตอนนี้คงใช้ ว ด ป แบบ ค.ศ. ก่อนครับ คงแยกเซล แล้วถ้าติดปัญหาตอนรวม ว ดป คงจะมารบกวนอาจารย์ครับ วันนี้ขอขอบคุณครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีให้ textbox แสดงค่าต่างๆ เช่น วันที่, ทศนิยม ครับ

#8

Post by snasui »

:D ลองเพิ่ม Code นี้เข้าไปช่วยปรับ Format ใน TextBox2 ดูครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim t As String
    If Target.Address = [d1].Address Then
        t = Application.Text([d1], "[$-41e]d mmmm yyyy")
        TextBox2.Text = t
    End If
End Sub
Post Reply