กล่องข้อความ VBA | วิธีแทรกและใช้ TextBox ใน VBA Userform

กล่องข้อความ Excel VBA

Textboxเป็นเหมือนกล่องที่ใช้รับข้อมูลจากผู้ใช้กล่องข้อความเป็นส่วนหนึ่งของฟอร์มผู้ใช้และในแท็บผู้พัฒนาในแผ่นงาน excel ใด ๆ หากเราต้องการสร้างกล่องข้อความในรูปแบบผู้ใช้เราสามารถเลือกตัวเลือกกล่องข้อความได้ จากตัวควบคุมฟอร์มผู้ใช้ใน VBA หรือในแผ่นงานเราสามารถเลือกได้จากแท็บออกแบบ

VBA TextBox เป็นหนึ่งในส่วนควบคุมของตัวควบคุมต่างๆของแบบฟอร์มผู้ใช้ ด้วยการแสดงกล่องข้อความในแบบฟอร์มผู้ใช้เราสามารถขอให้พวกเขาป้อนข้อมูลลงในกล่องข้อความและข้อมูลที่ผู้ใช้ป้อนสามารถจัดเก็บลงในแผ่นงานด้วยรหัสง่ายๆ

แบบฟอร์มผู้ใช้มีความน่าสนใจมากในการเข้ารหัส VBA ช่วยเราอย่างมากโดยเฉพาะอย่างยิ่งเมื่อเราต้องการรับข้อมูลจากผู้ใช้ ด้วยรูปแบบผู้ใช้เรามีตัวควบคุมมากมายและเพื่อรับค่าอินพุตจากผู้ใช้ "กล่องข้อความ" เป็นตัวเลือกที่เหมาะสำหรับผู้ใช้ ด้วยการใส่กล่องข้อความลงในแบบฟอร์มผู้ใช้เราสามารถบอกให้ผู้ใช้ป้อนค่าที่ต้องการในกล่องข้อความที่เรากำลังแสดงได้ หากคุณไม่มีความคิดเกี่ยวกับกล่องข้อความ VBA บทความนี้จะพาชมกล่องข้อความ VBA

วิธีแทรก TextBox ใน VBA UserForm

คุณสามารถดาวน์โหลดเทมเพลตกล่องข้อความ VBA ได้ที่นี่ - เทมเพลตกล่องข้อความ VBA

ในการแทรกกล่องข้อความก่อนอื่นเราต้องแทรกฟอร์มผู้ใช้ ในการแทรกฟอร์มผู้ใช้ให้ไปที่แทรก> แบบฟอร์มผู้ใช้

ทันทีที่คุณคลิกที่แบบฟอร์มผู้ใช้เราจะใช้ฟอร์มผู้ใช้เหมือนกับโมดูลอื่น

คลิกที่แบบฟอร์มผู้ใช้เพื่อดูการควบคุมฟอร์มผู้ใช้

จากกล่องเครื่องมือการควบคุมนี้ให้เลือก“ กล่องข้อความ” และลากบนแบบฟอร์มผู้ใช้

ด้วยเหตุนี้เราจึงสามารถเห็นคุณสมบัติมากมายที่เกี่ยวข้องกับกล่องข้อความนี้

คุณสมบัติกล่องข้อความ

กดปุ่ม F4 เพื่อดูคุณสมบัติของกล่องข้อความ

อย่างที่เราเห็นกล่องข้อความมีชื่อสีเส้นขอบแบบนี้มากมาย ตอนนี้ให้ชื่อที่เหมาะสมเพื่อให้เราสามารถอ้างถึงกล่องข้อความนี้ได้อย่างง่ายดายในขณะที่เขียนโค้ด

ตัวอย่างการใช้ TextBox ใน Userform

เราจะดำเนินโครงการใดโครงการหนึ่งพร้อมข้อความ VBA เราจะสร้างแบบฟอร์มผู้ใช้ป้อนข้อมูลเพื่อจัดเก็บรายละเอียดของพนักงาน

ขั้นตอนที่ 1:ในแบบฟอร์มผู้ใช้วาดฉลาก

ขั้นตอนที่ 2:เปลี่ยนข้อความเริ่มต้นของป้ายกำกับเป็น“ ชื่อพนักงาน”

ขั้นตอนที่ 3:ด้านหน้าของฉลากวาดกล่องข้อความ

ขั้นตอนที่ 4:ตั้งชื่อที่ถูกต้องให้กับกล่องข้อความว่า“ EmpNameTextBox”

ขั้นตอนที่ 5:ตอนนี้วาดอีกหนึ่งป้ายกำกับด้านล่างป้ายกำกับแรกและป้อนข้อความเป็น "รหัสพนักงาน"

ขั้นตอนที่ 6:ด้านหน้าป้ายกำกับที่สองให้วาดกล่องข้อความขึ้นมาอีก 1 ช่องแล้วตั้งชื่อว่า "EmpIDTextBox"

ขั้นตอนที่ 7:วาดป้ายกำกับอีก 1 ป้ายแล้วป้อนข้อความว่า "เงินเดือน"

ขั้นตอนที่ 8:วาดอีกหนึ่งกล่องหน้าป้ายกำกับ“ เงินเดือน” และตั้งชื่อเป็น“ SalaryTextBox”

ขั้นตอนที่ 9:ตอนนี้ใส่“ ปุ่มคำสั่ง” จากกล่องเครื่องมือ

ขั้นตอนที่ 10:เปลี่ยนข้อความของปุ่มคำสั่งเป็น“ ส่ง”

โอเคเราทำส่วนการออกแบบฟอร์มผู้ใช้เรียบร้อยแล้ว ตอนนี้เราต้องเขียนโค้ดเพื่อจัดเก็บข้อมูลที่ป้อนในแบบฟอร์มผู้ใช้นี้ ณ ตอนนี้เรียกใช้แบบฟอร์มผู้ใช้โดยกดปุ่ม F5 เราจะเห็นแบบฟอร์มผู้ใช้เช่นนี้

ขั้นตอนที่ 11:เปลี่ยนคำบรรยายของแบบฟอร์มผู้ใช้ในหน้าต่างคุณสมบัติ

ขั้นตอนที่ 12:ดับเบิลคลิกที่ปุ่มส่งคำสั่งทันทีที่คุณดับเบิลคลิกคุณจะเห็นขั้นตอนย่อยอัตโนมัติดังต่อไปนี้

นี่คือเมื่อคุณคลิกที่ปุ่มส่งสิ่งที่ควรเกิดขึ้น เราต้องพูดถึงงานในรหัส VBA ในโครงการนี้เป้าหมายของเราคือการจัดเก็บข้อมูลที่ป้อนในกล่องข้อความทันทีที่เราคลิกที่ปุ่มส่ง

ขั้นแรกให้สร้างเทมเพลตแบบนี้ในเวิร์กชีตชื่อ "เอกสารพนักงาน"

ขั้นตอนที่ 13:กลับมาที่ Visual Basic Editor ภายในปุ่มคลิกรูทีนย่อยใน VBA ก่อนอื่นให้กำหนดแถวที่ใช้ล่าสุดโดยใช้รหัสด้านล่าง

รหัส:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Worksheets ("Employee Sheet"). cell (Rows.Count, 1). End (xlUp) .Row + 1 End Sub 

ขั้นตอนที่ 14:สิ่งแรกคือในคอลัมน์แรกเราจะจัดเก็บชื่อพนักงาน ดังนั้นเราจำเป็นต้องเข้าถึงกล่องข้อความที่ชื่อว่า "EmpNameTextBox"

รหัส:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Worksheets ("Employee Sheet"). cell (Rows.Count, 1) .End (xlUp) .Row + 1 Ramge ("A" & LR) .Value = EmpNameTextBox.Value End Sub 

ขั้นตอนที่ 15:ในคอลัมน์ที่สองเราต้องจัดเก็บรหัสพนักงาน ดังนั้นจะได้รับจากการเข้าถึงกล่องข้อความชื่อ "EmpIDTextBox"

รหัส:

 Private Sub CommandButton1_Click() Dim LR As Long LR = Worksheets("Employee Sheet").cell(Rows.Count, 1).End(xlUp).Row + 1 Ramge("A" & LR).Value = EmpNameTextBox.Value Ramge("B" & LR).Value = EmpIDTextBox.Value End Sub 

Step 16: At last we need to store the salary part, for this, we need to access to text box named “SalaryTextBox”.

Code:

 Private Sub CommandButton1_Click() Dim LR As Long LR = Worksheets("Employee Sheet").cell(Rows.Count, 1).End(xlUp).Row + 1 Ramge("A" & LR).Value = EmpNameTextBox.Value Ramge("B" & LR).Value = EmpIDTextBox.Value Range("C" & LR).Value = SalaryTextBox.Value End Sub 

Ok, we are done with the coding part as well. Now run the code using the F5 key we should see a User Form like the below.

As of now, all the boxes are empty.

Fill the details first.

Now click on the “Submit” button, it will store the data to the worksheet.

Like this, you can keep entering the data and hit and submit button. This is the simple data entry user form with a text box.