Note: The other languages of the website are Google-translated. Back to English
ล็อกอิน  \/ 
x
or
x
สมัครสมาชิก  \/ 
x

or

วิธีเติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ใน Excel

ตามค่าเริ่มต้น Excel จะจำสิ่งที่คุณป้อนในเซลล์ของแผ่นงานปัจจุบันและเติมเนื้อหานี้โดยอัตโนมัติในครั้งถัดไปเมื่อพิมพ์ตัวอักษรเริ่มต้นที่เกี่ยวข้องลงในเซลล์ใหม่ อย่างไรก็ตามหากคุณต้องการสร้างเนื้อหาทั้งหมดที่คุณป้อนในแผ่นงานเพื่อเติมข้อความอัตโนมัติในกล่องข้อความ (ActiveX Control) คุณจะทำอย่างไร? บทความนี้จะให้วิธี VBA เพื่อช่วยคุณเติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ตัวอักษรเริ่มต้นด้านใน

เติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ด้วยรหัส VBA

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ ทำงานร่วมกับ Office 2007-2019 และ 365; รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ

เติมข้อความอัตโนมัติในกล่องข้อความเมื่อพิมพ์ด้วยรหัส VBA


โปรดดำเนินการดังนี้เพื่อทำการเติมข้อความอัตโนมัติเมื่อพิมพ์ตัวอักษรเริ่มต้นภายในกล่องข้อความ

1. กรุณาใส่กล่องข้อความโดยคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องข้อความ (ActiveX Control). ดูภาพหน้าจอ:

2. จากนั้นคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องรายการ (ActiveX Control) เพื่อแทรกกล่องรายการลงในแผ่นงานปัจจุบัน ดูภาพหน้าจอ:

3. คลิกขวาที่แท็บแผ่นงานจากนั้นคลิก ดูรหัส จากเมนูบริบทดังภาพด้านล่างที่แสดง

4 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน โปรดคัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่างรหัส จากนั้นคลิก เครื่องมือ > อ้างอิงจากนั้นตรวจสอบไฟล์ Microsoft Scripting Runtime กล่องใน เอกสารอ้างอิง - 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 ลง แป้นลูกศรเพื่อย้ายไปมาระหว่างข้อความเติมข้อความอัตโนมัติทั้งหมดในกล่องรายการจากนั้นกดปุ่ม เข้าสู่ เพื่อป้อนรหัสที่จำเป็นลงในกล่องข้อความ


บทความที่เกี่ยวข้อง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • Super Formula Bar (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    suprio · 2 years ago
    Why would anyone go for writing a script when there are simpler ways to get a dropdown list???