: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
tanusorn
Member
Member
Posts: 10
Joined: Thu Jun 20, 2019 5:37 pm

ต้องการให้สร้างTextboxอัตโนมัติตามจำนวนที่รับค่า

#1

Post by tanusorn »

สวัสดีครับ ต้องการให้สร้างTextboxอัตโนมัติตามจำนวนที่รับค่ามา ใน userform ใหม่ครับ ตามภาพครับ ควรเขียน code ยังไงหรือมีคำสั่งไหนที่สามารถทำได้ไหมครับ
1.jpg
ตอนนี้ผมลองเขียนโค้ดได้แค่การรับค่าและเด้งไป userform ใหม่ครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim machinenum As Integer
    Dim mannum As Integer
    Dim worknum As Integer
    machinenum = TextBox1
     mannum = TextBox2
    worknum = TextBox3
    UserForm3.Hide
    UserForm2.Show
End Sub
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้สร้างTextboxอัตโนมัติตามจำนวนที่รับค่า

#2

Post by snasui »

:D มีคำสั่งที่ทำได้แต่ต้องเขียน Code พวกนั้นมาเองก่อน จะทำสิ่งใดก็ต้องมีคำสั่งนั้น จะผิดจะถูกไม่ใช่ประเด็น ประเด็นคือเขียนมาก่อน ติดแล้วค่อยถามกันต่อ คำสั่งที่เขียนมายังไม่มี Code สำหรับการเพิ่ม Object การปรับขนาด การจัดเรียง ฯลฯ ครับ

การให้สร้าง Object แบบที่ถามมานี้เรียกว่า On the fly มีความยุ่งยากในการจัดการเพราะต้องวางให้เป็นระเบียบ ตรงกับ Object ที่มีก่อนหน้า ทางเลือกหนึ่งคือสร้างเอาไว้ก่อนล่วงหน้าให้พอกับงานที่ต้องใช้ จากนั้นค่อยซ่อนหรือยกเลิกการซ่อนตามค่าที่ผู้ใช้งานกรอก ปรับขนาด Form ให้เห็น Object เท่าจำนวนบรรทัดที่ผู้ใช้กรอกเช่นนี้เป็นต้น การทำงานลักษณะนี้จะง่ายกว่า สร้าง ลบ จัดเรียงใหม่ ในการทำงานแต่ละครั้งที่ต้องเขียน Code จำนวนมากครับ
tanusorn
Member
Member
Posts: 10
Joined: Thu Jun 20, 2019 5:37 pm

Re: ต้องการให้สร้างTextboxอัตโนมัติตามจำนวนที่รับค่า

#3

Post by tanusorn »

ขอบคุณสำหรับคำแนะนำครับ จะนำไปปรับปรุงแก้ไขและนำไปพัฒนาตนเองต่อไปครับ
tanusorn
Member
Member
Posts: 10
Joined: Thu Jun 20, 2019 5:37 pm

Re: ต้องการให้สร้างTextboxอัตโนมัติตามจำนวนที่รับค่า

#4

Post by tanusorn »

ตอนนี้ผมลองเขียนโค้ดรับค่าจำนวน Textbox ที่ต้องการมาเก็บไว้ในรูปแบบ Array และผมต้องการให้มันวน loop เพื่อแสดงTextbookตามจำนวนค่าที่รับมา ไม่สำเร็จครับ มันขึ้นว่า Sub or Function not defined ครับ

นี่โค้ดที่ลองเขียนครับ

Code: Select all

Private Sub CommandButton1_Click()
   Dim machinenum As Integer
 Dim mannum As Integer
 Dim worknum0 As Integer
 Dim worknum(100) As Integer
 Dim i As Integer
 'machinenum = TextBox1
 'mannum = TextBox2
 worknum0 = TextBox3
 For i = 0 To worknum0
   If i <> 0 Then
   worknum(i) = i
  worknum0 = worknum0 - 1
 End If
Next i

TextBox4.Visible = False
TextBox5.Visible = False
TextBox6.Visible = False
TextBox7.Visible = False
TextBox8.Visible = False

For i = 0 To UBound(worknum)
 If i <> 0 Then
textbox(3 + i).Visible = True
worknum0 = worknum0 - 1
End If
Next i

End Sub
ภาพหน้าต่าง Userform ครับ ตอนนี้ลองปรับให้การรับค่าข้อความและ จำนวนช่องให้ปรากฎใน Userform เดียวกันแล้วครับ
Untitled.png
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ต้องการให้สร้างTextboxอัตโนมัติตามจำนวนที่รับค่า

#5

Post by snasui »

:D กรุณาแนบไฟล์ล่าสุดมาด้วยจะได้ช่วยทดสอบให้ได้ครับ
Post Reply