วิธีเติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ใน Excel
ตามค่าเริ่มต้น Excel จะจำสิ่งที่คุณป้อนในเซลล์ของแผ่นงานปัจจุบันและเติมเนื้อหานี้โดยอัตโนมัติในครั้งถัดไปเมื่อพิมพ์ตัวอักษรเริ่มต้นที่เกี่ยวข้องลงในเซลล์ใหม่ อย่างไรก็ตามหากคุณต้องการสร้างเนื้อหาทั้งหมดที่คุณป้อนในแผ่นงานเพื่อเติมข้อความอัตโนมัติในกล่องข้อความ (ActiveX Control) คุณจะทำอย่างไร? บทความนี้จะให้วิธี VBA เพื่อช่วยคุณเติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ตัวอักษรเริ่มต้นด้านใน
เติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ด้วยรหัส VBA
เติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ด้วยรหัส VBA
โปรดดำเนินการดังนี้เพื่อทำการเติมข้อความอัตโนมัติเมื่อพิมพ์ตัวอักษรเริ่มต้นภายในกล่องข้อความ
1. กรุณาใส่กล่องข้อความโดยคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องข้อความ (ActiveX Control). ดูภาพหน้าจอ:
2. จากนั้นคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องรายการ (ActiveX Control) เพื่อแทรกกล่องรายการลงในแผ่นงานปัจจุบัน ดูภาพหน้าจอ:
3. คลิกขวาที่แท็บแผ่นงานจากนั้นคลิก ดูรหัส จากเมนูบริบทดังภาพด้านล่างที่แสดง
4 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน โปรดคัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่างรหัส จากนั้นคลิก เครื่องมือ > อ้างอิงจากนั้นตรวจสอบไฟล์ รันไทม์การเขียนสคริปต์ของ Microsoft กล่องใน เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ ดูภาพหน้าจอ:
รหัส VBA: เติมข้อความอัตโนมัติเมื่อพิมพ์
Dim xRg As Range
Dim xDic As New Dictionary
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.TextBox1.Value = Me.ListBox1.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xVal As String
On Error Resume Next
If IsNumeric(Target.Value) Then
xVal = Str(Target.Value)
Else
xVal = Target.Value
End If
If xVal <> "" Then
If Not xDic.Exists(xVal) Then
xDic.Add xVal, xVal
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.ListBox1.Visible = False
End Sub
Private Sub Worksheet_Activate()
Dim I As Long
Dim xStr As String
On Error Resume Next
If xRg Is Nothing Then
Set xRg = ActiveSheet.UsedRange
End If
Me.ListBox1.Visible = False
xDic.RemoveAll
With Me.ListBox1
For I = 1 To xRg.Count
xStr = xRg(I).Value
If xStr <> "" Then
.AddItem xStr
If Not xDic.Exists(xStr) Then
xDic.Add xStr, xStr
End If
End If
Next
End With
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
With Me.ListBox1
.Top = Me.TextBox1.Top
.Left = Me.TextBox1.Left + Me.TextBox1.Width
.Width = Me.TextBox1.Width
End With
TextBoxVal Me.TextBox1.Object
End Sub
Sub TextBoxVal(xTextBox As Variant)
Dim I As Long
Dim xStr As String
On Error Resume Next
Application.ScreenUpdating = False
If xRg Is Nothing Then Exit Sub
Me.ListBox1.Clear
xStr = xTextBox.Value
If xStr = "" Then
Me.ListBox1.Visible = False
Application.EnableEvents = True
Exit Sub
End If
For I = 0 To UBound(xDic.Items)
If Left(xDic.Items(I), Len(xStr)) = xStr Then
Me.ListBox1.AddItem xDic.Items(I)
End If
Next
Me.ListBox1.Visible = True
If Me.ListBox1.ListCount > 0 Then
With xTextBox
.Value = Me.ListBox1.List(0)
.SelStart = Len(xStr)
.SelLength = Len(Me.ListBox1.List(0))
End With
End If
Me.ListBox1.Activate
Me.ListBox1.Selected(0) = True
Application.ScreenUpdating = True
End Sub
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Me.TextBox1.Value = Me.ListBox1.Value
End If
End Sub
หมายเหตุ: ในรหัส กล่องรายการ 1 และ กล่องข้อความ 1 คือชื่อของกล่องรายการและกล่องข้อความที่คุณใส่ลงในแผ่นงานของคุณ
5 กด อื่น ๆ + Q ปุ่มเพื่อออกจากไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
6. ปิดโหมดออกแบบโดยคลิก ผู้พัฒนา > โหมดการออกแบบ ในแผ่นงาน
7. ตอนนี้เปลี่ยนไปใช้แผ่นงานอื่นแล้วกลับไปที่แผ่นงานก่อนหน้าเพื่อเปิดใช้งานรหัส VBA
จากนี้ไป. เมื่อป้อนตัวอักษรเริ่มต้นลงในกล่องข้อความข้อความทั้งหมดที่ขึ้นต้นด้วยตัวอักษรที่คุณได้ป้อนลงในแผ่นงานจะแสดงอยู่ในกล่องรายการซึ่งอยู่ทางด้านขวาของกล่องข้อความ กรุณาคลิกสองครั้งที่คุณต้องการเพื่อป้อนลงในกล่องข้อความ ดูภาพหน้าจอ:
หมายเหตุ: คุณสามารถใช้ Up or ลง แป้นลูกศรเพื่อย้ายไปมาระหว่างข้อความเติมข้อความอัตโนมัติทั้งหมดในกล่องรายการจากนั้นกดปุ่ม เข้าสู่ เพื่อป้อนรหัสที่จำเป็นลงในกล่องข้อความ
บทความที่เกี่ยวข้อง:
- วิธีการเลือกข้อความของกล่องข้อความโดยอัตโนมัติเมื่อถูกเลือกใน Excel
- วิธีล้างเนื้อหาของกล่องข้อความเมื่อคลิกใน Excel
- วิธีการต่อข้อความของหลายเซลล์ลงในกล่องข้อความใน Excel
- วิธีปิดใช้งานการแก้ไขในกล่องข้อความเพื่อป้องกันไม่ให้ผู้ใช้ป้อนข้อมูลใน Excel
- วิธีจัดรูปแบบกล่องข้อความเป็นเปอร์เซ็นต์ใน Excel
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!