Note: The other languages of the website are Google-translated. Back to English
English English

วิธีป้องกันการคัดลอกและวางในเซลล์ด้วยรายการแบบหล่นลงใน Excel

สำหรับเซลล์ที่มีรายการแบบเลื่อนลงการตรวจสอบความถูกต้องของข้อมูลเมื่อคัดลอกเนื้อหาจากเซลล์อื่นและวางลงในเซลล์รายการแบบหล่นลงจะหายไปและแทนที่ด้วยเนื้อหาที่วางใหม่ ในบางกรณีคุณต้องการป้องกันไม่ให้คัดลอกและวางเนื้อหาอื่น ๆ ในเซลล์ด้วยรายการแบบเลื่อนลงคุณจะทำอย่างไรเพื่อจัดการกับมัน ในบทความนี้คุณจะได้รับวิธี VBA ในการจัดการกับปัญหานี้

ป้องกันการคัดลอกและวางบนเซลล์ด้วยรายการแบบหล่นลงใน Excel


ป้องกันการคัดลอกและวางบนเซลล์ด้วยรายการแบบหล่นลงใน Excel

1. เปิดแผ่นงานด้วยเซลล์รายการแบบหล่นลงที่คุณต้องการป้องกันการคัดลอกและวาง

2 กด อื่น ๆ + F11 พร้อมกันเพื่อเปิดไฟล์ แอปพลิเคชัน Microsoft Visual Basic หน้าต่าง

3 ใน แอปพลิเคชัน Microsoft Visual Basic ดับเบิลคลิกที่ชื่อแผ่นงานปัจจุบันในบานหน้าต่างด้านซ้ายจากนั้นคัดลอกและวางโค้ด VBA ด้านล่างลงในตัวแก้ไขโค้ด ดูภาพหน้าจอ:

รหัส VBA: ป้องกันการคัดลอกและวางบนเซลล์ด้วยรายการแบบหล่นลง

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
    Dim xValue As String
    Dim xCheck1 As String
    Dim xCheck2 As String
    Dim xRg As Range
    Dim xArrCheck1() As String
    Dim xArrCheck2() As String
    Dim xArrValue()
    Dim xCount, xJ As Integer
    Dim xBol As Boolean
'    If Target.Count > 1 Then
'        Exit Sub
'        End If
    xCount = Target.Count
    ReDim xArrCheck1(1 To xCount)
    ReDim xArrCheck2(1 To xCount)
    ReDim xArrValue(1 To xCount)
    Application.EnableEvents = False
    On Error Resume Next
    xJ = 1
    For Each xRg In Target
        xArrValue(xJ) = xRg.Value
         xArrCheck1(xJ) = xRg.Validation.InCellDropdown
        xJ = xJ + 1
    Next

    Application.Undo

    xJ = 1
    For Each xRg In Target
        xArrCheck2(xJ) = xRg.Validation.InCellDropdown
        xJ = xJ + 1
    Next

    xBol = False
    For xJ = 1 To xCount
        If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
            xBol = True
            Exit For
        End If
    Next

    If xBol Then
       MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
    Else
        xJ = 1
        For Each xRg In Target
            xRg.Value = xArrValue(xJ)
            xJ = xJ + 1
        Next

    End If

    Application.EnableEvents = True
End Sub

4 กด อื่น ๆ + Q ปุ่มเพื่อออกจากไฟล์ แอปพลิเคชัน Microsoft Visual Basic หน้าต่าง

5. เมื่อคุณวางเนื้อหาลงในเซลล์ที่มีรายการแบบหล่นลงกล่องโต้ตอบจะปรากฏขึ้นเพื่อเตือนคุณว่าไม่อนุญาตให้วาง ดูภาพหน้าจอ:

หมายเหตุ: VBA นี้ใช้งานได้ในการวางเซลล์เดียว หากคุณคัดลอกและวางในหลายเซลล์จะไม่ทำงาน

สร้างรายการแบบหล่นลงได้อย่างง่ายดายด้วยช่องทำเครื่องหมายใน Excel:

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


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

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

สร้างรายการแบบหล่นลงจากสมุดงานอื่นใน Excel
มันค่อนข้างง่ายในการสร้างรายการแบบเลื่อนลงสำหรับการตรวจสอบข้อมูลระหว่างแผ่นงานภายในสมุดงาน แต่ถ้าข้อมูลรายการที่คุณต้องการสำหรับการตรวจสอบข้อมูลอยู่ในสมุดงานอื่นคุณจะทำอย่างไร? ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีสร้างรายการลดลงจากสมุดงานอื่นใน Excel โดยละเอียด

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

เติมข้อมูลเซลล์อื่นโดยอัตโนมัติเมื่อเลือกค่าในรายการแบบเลื่อนลงของ Excel
สมมติว่าคุณได้สร้างรายการแบบหล่นลงตามค่าในช่วงเซลล์ B8: B14 เมื่อคุณเลือกค่าใด ๆ ในรายการแบบหล่นลงคุณต้องการให้ค่าที่เกี่ยวข้องในช่วงเซลล์ C8: C14 ถูกเติมโดยอัตโนมัติในเซลล์ที่เลือก สำหรับการแก้ปัญหาวิธีการในบทช่วยสอนนี้จะช่วยคุณได้

บทแนะนำเพิ่มเติมสำหรับรายการแบบเลื่อนลง ...


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

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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (12)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช้งานได้ แต่เมื่อฉันวางค่านี้จะอนุญาตข้อมูลที่ไม่ได้จากรายการแบบหล่นลง วิธีใดๆ ในการจำกัดค่าใดๆ ที่ไม่ได้มาจากรายการ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Dilip คุณสามารถแก้ไขปัญหาได้หรือไม่ ฉันก็มีปัญหาที่คล้ายกันเช่นกัน ฉันต้องอนุญาตให้คัดลอก วางเฉพาะค่าแบบหล่นลงในเซลล์ตรวจสอบข้อมูล ฉันต้องจำกัด คุณสามารถแบ่งปันวิธีแก้ปัญหาของคุณ ขอบคุณเรา
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ในขณะที่ฉันเรียกใช้มาโครนี้ ฉันได้รับข้อผิดพลาดในการดีบัก "Application.Undo" กรุณาแก้ไขปัญหานี้โดยเร็ว
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รหัส vba ที่กล่าวถึงข้างต้นไม่ได้ทำงาน กรุณาแก้ไข
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Private Sub Worksheet_Change(ByVal Target As Range) Dim xValue As String Dim xCheck1 As String Dim xCheck2 As String If Target.Count > 1 จากนั้นออกจาก Sub End หาก Application.EnableEvents = False xValue = Target.Value On Error Resume Next xCheck1 = Target Validation.InCellDropdown On Error GoTo 0 Application.Undo On Error Resume Next xCheck2 = Target.Validation.InCellDropdown On Error GoTo 0 ถ้า xCheck1 = xCheck2 แล้ว Target = xValue Else MsgBox "ไม่อนุญาตให้วาง!" End If Application.EnableEvents = True End Sub Macro นี้ไม่ทำงานเมื่อคัดลอกจากสมุดงานหรือแผ่นงานอื่นดังนั้นโปรดบอกฉันว่าจะหลีกเลี่ยงสิ่งเหล่านี้ได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก !! ทำงานได้ดีสำหรับฉัน !!! การคัดลอกลงในเซลล์เดียวถูกจำกัด แต่ถ้าฉันคัดลอกรายการเซลล์และวาง.. การวางจะเป็นที่ยอมรับ ให้ฉันดูว่าฉันสามารถปรับแต่งนี้ได้หรือไม่ .. ขอบคุณต่อไป
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Jepson คุณจัดการแก้ปัญหาการคัดลอกและวางลงในหลายเซลล์ได้หรือไม่ ขอบคุณล่วงหน้า!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Dilip คุณสามารถแก้ไขปัญหาการอนุญาตข้อมูลโดยใช้ค่าการวางได้หรือไม่ .. ฉันกำลังประสบปัญหาเดียวกัน .. ช่วยฉันด้วยในเรื่องนี้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Dilip คุณสามารถแก้ไขปัญหาการอนุญาตข้อมูลโดยใช้ค่าการวางได้หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณจัดการเพื่อแก้ไขปัญหาการคัดลอกและวางลงในหลาย ๆ เซลล์หรือไม่? ขอบคุณล่วงหน้า!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ฉันไม่ได้คิดออก ฉันไม่ได้พยายามที่จะแก้ไขในขณะที่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันใช้งานได้ แต่หลังจากที่คุณใส่รหัสแล้ว คุณไม่สามารถเลิกทำสิ่งใดได้ ไม่อนุญาตให้ถอยหลังแม้แต่ก้าวเดียว
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ