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

or

จะป้องกันไม่ให้อักขระพิเศษเข้ามาใน Excel ได้อย่างไร?

ในบางกรณีเราแค่ต้องการป้อนตัวอักษรหรือตัวเลขในเซลล์และป้องกันไม่ให้พิมพ์อักขระพิเศษเช่น @ # $% & และอื่น ๆ มีฟังก์ชันใดบ้างใน Excel ที่ป้องกันไม่ให้อักขระพิเศษเข้ามาเมื่อเราแทรกค่า?

ป้องกันไม่ให้มีการป้อนอักขระพิเศษด้วยการตรวจสอบข้อมูล

ป้องกันไม่ให้อักขระพิเศษป้อนด้วยรหัส VBA

ป้องกันไม่ให้อักขระพิเศษเข้ามาด้วย Kutools for Excel ความคิดที่ดี 3


ป้องกันไม่ให้มีการป้อนอักขระพิเศษด้วยการตรวจสอบข้อมูล

การตรวจสอบข้อมูลของ Excel สามารถช่วยให้คุณป้อนเฉพาะค่าตัวอักษรและตัวเลขเท่านั้น กรุณาดำเนินการดังต่อไปนี้:

1. เลือกช่วงที่คุณต้องการป้องกันไม่ให้อักขระพิเศษเข้ามา

2. จากนั้นคลิก ข้อมูล > การตรวจสอบข้อมูล > การตรวจสอบข้อมูลดูภาพหน้าจอ:

doc- ป้องกันอักขระ -1

3. ใน การตรวจสอบข้อมูล คลิกตกลง การตั้งค่า และเลือก ประเพณี จาก อนุญาต รายการแบบเลื่อนลงจากนั้นป้อนสูตรนี้ =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) เข้าไปใน สูตร กล่องข้อความดูภาพหน้าจอ:

บันทึก:A1 ระบุเซลล์แรกของช่วงที่คุณเลือก (จากซ้ายไปขวา)

doc- ป้องกันอักขระ -1

4. จากนั้นคลิก OK เพื่อปิดกล่องโต้ตอบนี้และตอนนี้เมื่อคุณป้อนค่าที่มีอักขระพิเศษในคอลัมน์ที่ระบุคุณได้ใช้ตัวเลือกนี้คุณจะได้รับข้อความเตือนต่อไปนี้

doc- ป้องกันอักขระ -1


ป้องกันไม่ให้อักขระพิเศษป้อนด้วยรหัส VBA

รหัส VBA ต่อไปนี้ยังช่วยคุณป้องกันอักขระพิเศษขณะป้อนค่าข้อความ

1. กด ALT + F11 และจะเปิดไฟล์ หน้าต่าง Microsoft Visual Basic for Applications.

2. จากนั้นเลือกแผ่นงานที่คุณใช้จากด้านซ้าย Project Explorerดับเบิลคลิกเพื่อเปิดไฟล์ โมดูลจากนั้นคัดลอกและวางโค้ด VBA ต่อไปนี้ลงในช่องว่าง โมดูล:

รหัส VBA: ป้องกันไม่ให้มีการป้อนอักขระพิเศษใน Excel

Private Const FCheckRgAddress As String = "A1:A100"
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140905
    Dim xChanged As Range
    Dim xRg As Range
    Dim xString As String
    Dim sErrors As String
    Dim xRegExp As Variant
    Dim xHasErr As Boolean
    Set xChanged = Application.Intersect(Range(FCheckRgAddress), Target)
    If xChanged Is Nothing Then Exit Sub
    Set xRegExp = CreateObject("VBScript.RegExp")
    xRegExp.Global = True
    xRegExp.IgnoreCase = True
    xRegExp.Pattern = "[^0-9a-z]"
    For Each xRg In xChanged
        If xRegExp.Test(xRg.Value) Then
            xHasErr = True
            Application.EnableEvents = False
            xRg.ClearContents
            Application.EnableEvents = True
        End If
    Next
    If xHasErr Then MsgBox "These cells had invalid entries and have been cleared:"
End Sub

doc- ป้องกันอักขระ -1

หมายเหตุ: ในโค้ดด้านบนคุณสามารถเปลี่ยนช่วงได้ A1: A100 of Private Const FCheckRgAddress เป็น String = "A1: A100" สคริปต์ไปยังช่วงของคุณเองที่คุณต้องการป้องกันอักขระพิเศษ

3. จากนั้นบันทึกและปิดรหัสนี้และตอนนี้เมื่อคุณป้อนค่าข้อความด้วยอักขระพิเศษบางตัวในช่วง A1: A100 ค่าของคุณจะถูกล้างพร้อมกันและคุณจะได้รับข้อความเตือนต่อไปนี้

doc- ป้องกันอักขระ -1


ป้องกันไม่ให้อักขระพิเศษเข้ามาด้วย Kutools for Excel

จริงๆแล้วถ้าคุณมี Kutools สำหรับ Excel - เครื่องมือที่มีประโยชน์และใช้งานได้หลากหลายคุณสามารถป้องกันการพิมพ์อักขระพิเศษได้อย่างรวดเร็วด้วยการเลือก ป้องกันการพิมพ์ ยูทิลิตี้โดยการตรวจสอบเพียงครั้งเดียว

Kutools สำหรับ Excel, ที่มีมากกว่า 300 ฟังก์ชั่นที่มีประโยชน์ทำให้งานของคุณง่ายขึ้น 

หลังจากการติดตั้ง Kutools สำหรับ Excel โปรดทำดังนี้ :(ดาวน์โหลด Kutools for Excel ได้ฟรีทันที!)

1. เลือกตัวเลือกที่คุณต้องการป้องกันไม่ให้พิมพ์อักขระพิเศษแล้วคลิก Kutools > ป้องกันการพิมพ์ > ป้องกันการพิมพ์. ดูภาพหน้าจอ:
doc ป้องกันอักขระ 10

2 ใน ป้องกันการพิมพ์ โต้ตอบตรวจสอบ ป้องกันไม่ให้พิมพ์อักขระพิเศษ ตัวเลือก ดูภาพหน้าจอ:
doc ป้องกันอักขระ 7

3 คลิก Okและกล่องโต้ตอบจะปรากฏขึ้นเพื่อเตือนคุณว่าจะลบการตรวจสอบข้อมูลหากใช้ยูทิลิตี้นี้แล้วคลิก ใช่ เพื่อไปที่กล่องโต้ตอบถัดไปมันจะเตือนคุณว่ายูทิลิตี้ได้ทำงานในส่วนนี้แล้ว ดูภาพหน้าจอ:
doc ป้องกันอักขระ 8

4 คลิก OK เพื่อปิดกล่องโต้ตอบและจากนี้ไปกล่องโต้ตอบคำเตือนจะปรากฏขึ้นเมื่อคุณพยายามป้อนอักขระพิเศษในส่วนที่เลือก
doc ป้องกันอักขระ 9

เคล็ดลับถ้าคุณต้องการหยุดพิมพ์ค่าที่ซ้ำกันในคอลัมน์โปรดลองใช้ Kutools for Excel's ป้องกันการทำซ้ำ ดังที่แสดงในภาพหน้าจอต่อไปนี้ ฟังก์ชั่นเต็มรูปแบบโดยไม่มีข้อ จำกัด ใน 30 วัน โปรดดาวน์โหลดและทดลองใช้ฟรีทันที

doc ป้องกันการทำซ้ำ doc kutools ป้องกันการพิมพ์ 2


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

วิธีป้องกันการป้อนค่าด้วยช่องว่างใน Excel

วิธีป้องกันไม่ให้รายการซ้ำกันในคอลัมน์ใน Excel


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

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

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); 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.
    WilExcel · 1 years ago
    When I use your VBA code in excel 2013 it will open up debug option and freezes
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Hi, WilY, if it pops out a dialog as below screenshot shown, just click Yes then OK to enable the code. This issue appears in Excel 2016, too.
  • To post as a guest, your comment is unpublished.
    Milan · 3 years ago
    What if i need to prevent in a single cell typing certain characters in combination with length of the text?

    For example, i want to prevent the text to be between 5-16 caharacters in comination with certain character prevention? Any advice?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Maybe you can try the Data Validation function to limit the text length. See screenshot:
  • To post as a guest, your comment is unpublished.
    Pavel · 5 years ago
    The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice?
    Many thanks
    Pavel
    • To post as a guest, your comment is unpublished.
      unknown · 3 years ago
      Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))