ใน Microsoft Excel รายการตรวจสอบข้อมูลเป็นหนึ่งในเครื่องมือที่ช่วยให้คุณสามารถตรวจสอบข้อมูลของคุณในเวิร์กชีตได้ ช่วยให้คุณประหยัดเวลาในการเลือกช่วงของค่าต่างๆ ได้มาก ถ้าเซลล์ของคุณใช้เฉพาะค่าที่กำหนด คุณไม่จำเป็นต้องพิมพ์ซ้ำแล้วซ้ำอีก แต่คุณสามารถสร้างรายการดรอปดาวน์สำหรับการตรวจสอบความถูกต้องของข้อมูลในเวิร์กชีต Excel ของคุณ ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างรายการตรวจสอบความถูกต้องของข้อมูลรายการแรกจากอาร์เรย์ด้วย Excel VBA
บทช่วยสอนนี้จะเน้นที่ตัวอย่างและภาพประกอบที่เหมาะสม ดังนั้น อ่านบทความทั้งหมดเพื่อเพิ่มพูนความรู้ของคุณ
ดาวน์โหลดแบบฝึกหัดเล่มนี้
การตรวจสอบความถูกต้องของข้อมูลใน Excel คืออะไร
ตอนนี้ การตรวจสอบความถูกต้องของข้อมูลช่วยให้คุณควบคุมข้อมูลที่ป้อนในเซลล์ได้ เมื่อคุณมีค่าจำกัดในการป้อนฟิลด์ คุณสามารถใช้รายการดรอปดาวน์เพื่อตรวจสอบข้อมูลของคุณ คุณไม่จำเป็นต้องป้อนข้อมูลโดยพิมพ์ซ้ำแล้วซ้ำอีก รายการตรวจสอบข้อมูลยังช่วยให้มั่นใจว่าข้อมูลที่ป้อนไม่มีข้อผิดพลาด
ทำไมจึงเรียกว่าการตรวจสอบข้อมูล? เพราะทำให้แน่ใจว่าเฉพาะข้อมูลที่ถูกต้องเท่านั้นที่สร้างรายการ
โดยทั่วไปจะเป็นประโยชน์สำหรับผู้ใช้ที่ได้รับการแนะนำให้รู้จักกับชุดข้อมูลเป็นครั้งแรก พวกเขาไม่ต้องป้อนข้อมูลด้วยตนเอง แต่สามารถเลือกค่าใดก็ได้จากรายการแบบเลื่อนลงหรือรายการตรวจสอบข้อมูลที่คุณสร้างขึ้น
ขั้นตอนทีละขั้นตอนในการสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์ด้วย Excel VBA
ก่อนอื่น ดูชุดข้อมูลของเรา:
ที่นี่ เรามีชุดข้อมูลของพนักงานขายบางส่วน เรามีพื้นที่ทำงานและจำหน่ายผลิตภัณฑ์ ที่นี่ เราจะสร้างรายการตรวจสอบข้อมูลสำหรับคอลัมน์ภูมิภาคและผลิตภัณฑ์
รายการตรวจสอบข้อมูลของเราประกอบด้วย:
- ภูมิภาค :“เหนือ”, “ใต้”, “ตะวันออก”, “ตะวันตก”
- ผลิตภัณฑ์ :“ทีวี”, “ตู้เย็น”, “มือถือ”, “แล็ปท็อป”, “แอร์”
คุณสามารถสร้างรายการตรวจสอบได้ด้วยวิธีดั้งเดิม แต่ที่นี่เราจะใช้รหัส VBA ตอนนี้ในโค้ด VBA เราจะใส่ลงในอาร์เรย์ และจากอาร์เรย์นั้น เราจะตรวจสอบข้อมูลของเรา
ในส่วนต่อไปนี้ ฉันจะสร้างโค้ดในลักษณะทีละขั้นตอน ฉันแนะนำให้คุณสร้างรหัสของคุณพร้อมกับฉัน ด้วยวิธีนี้ คุณจะได้เรียนรู้โค้ดได้ดีขึ้น เข้าไปกันเถอะ
สร้างโค้ด VBA เพื่อสร้างรายการตรวจสอบข้อมูล Excel จากอาร์เรย์
ในส่วนนี้ คุณจะได้เรียนรู้การสร้างรายการตรวจสอบข้อมูลของคุณจากอาร์เรย์โดยใช้โค้ด VBA ใน Excel ที่นี่ ภูมิภาค . ของเรา และ สินค้า คอลัมน์จะมีรายการแบบเลื่อนลง
📌 ขั้นตอนที่ 1:เปิดตัวแก้ไข VBA
- ขั้นแรก ให้กด Alt+F11 บนแป้นพิมพ์เพื่อเปิดตัวแก้ไข VBA
- จากนั้น เลือก แทรก>โมดูล .
📌 ขั้นตอนที่ 2:ประกาศขั้นตอนย่อย
ตอนนี้พิมพ์รหัสต่อไปนี้:
Sub data_validation_from_array()
End Sub
นี่คือขั้นตอนย่อยของเรา เราจะพิมพ์รหัสทั้งหมดภายในนี้
📌 ขั้นตอนที่ 3:ประกาศตัวแปรที่จำเป็น
ถึงเวลาประกาศตัวแปรที่จำเป็นที่เราจะต้องใช้ต่อไป
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
End Sub
เรากำลังประกาศอาร์เรย์ของเราเป็น ตัวแปร . ในตัวแปรนี้ เราจะมีสตริงบางตัว
region_range, product_range: ตัวแปรเหล่านี้จะเก็บช่วงของคอลัมน์ของเราภูมิภาคและผลิตภัณฑ์
📌 ขั้นตอนที่ 4:ตั้งค่าอาร์เรย์
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
End Sub
อย่างที่คุณเห็น เราได้เก็บสตริงบางส่วนไว้ในพื้นที่และตัวแปรผลิตภัณฑ์ เราจะใช้เพื่อสร้างรายการแบบเลื่อนลง
อ่านเพิ่มเติม: วิธีแยกสตริงเป็นอาร์เรย์ใน VBA (3 วิธี)
📌 ขั้นตอนที่ 5:ตั้งค่าช่วงการตรวจสอบข้อมูล
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
Set region_range = Range("C5:C10")
Set product_range = Range("D5:D10")
End Sub
ตั้งค่า region_range =Range(“C5:C10”) :โดยรหัสบรรทัดนี้ เรากำลังระบุ ภูมิภาค คอลัมน์
ตั้งค่า product_range =ช่วง(“D5:D10”) :และโค้ดบรรทัดนี้ระบุ ผลิตภัณฑ์ คอลัมน์
อ่านเพิ่มเติม: วิธีการแปลงช่วงเป็นอาร์เรย์ใน Excel VBA (3 วิธี)
📌 ขั้นตอนที่ 6:สร้างรายการตรวจสอบข้อมูลในคอลัมน์ภูมิภาค
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
Set region_range = Range("C5:C10")
Set product_range = Range("D5:D10")
With region_range.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(region, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Please Provide a Valid Input"
.ShowInput = True
.ShowError = True
End With
End Sub
ด้วย region_range.Validation: ด้วยบรรทัดนี้ เราเลือกคอลัมน์ของ ภูมิภาค .
ลบ: หากมีรายการตรวจสอบที่มีอยู่ก่อน รายการดังกล่าวจะลบออก
ประเภทเพิ่ม:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(region, “,”) :เรากำลังเพิ่มรายการตรวจสอบข้อมูลที่นี่
- AlertStyle กำหนดประเภทของการแจ้งเตือนที่เราจะแสดงหากผู้ใช้ป้อนรายการนอกรายการ
- สูตร1:=เข้าร่วม(ภูมิภาค, “,”) :โดย สูตร เรากำลังให้ค่าในรายการตรวจสอบ เรามีสตริงบางส่วนใน ภูมิภาค โดยใช้ เข้าร่วม เมธอด เรากำลังรวมพวกมันด้วยเครื่องหมายจุลภาคคั่น (,) ค่าหรือรายการเหล่านี้จะเป็นแหล่งที่มาของเราในรายการตรวจสอบความถูกต้อง
.IgnoreBlank =จริง :โดยบรรทัดนี้ เราอนุญาตให้มีค่าว่าง
.InCellDropdown =True :เราจะแสดงรายการแบบเลื่อนลงพร้อมค่าที่ยอมรับได้
.ErrorTitle =“ข้อผิดพลาด” :เรากำลังตั้งชื่อกล่องโต้ตอบข้อผิดพลาดในการตรวจสอบข้อมูล
.ErrorMessage =“โปรดระบุข้อมูลที่ถูกต้อง” :มันจะตั้งค่าข้อความแสดงข้อผิดพลาดในกล่องโต้ตอบข้อผิดพลาดในการตรวจสอบข้อมูล
.ShowInput =จริง: โดยจะแสดงข้อความสำหรับป้อนการตรวจสอบความถูกต้องของข้อมูลทุกครั้งที่ผู้ใช้คลิกที่เซลล์ในช่วงการตรวจสอบความถูกต้องของข้อมูล
.ShowError =True: มันจะแสดงกล่องโต้ตอบข้อผิดพลาดหากผู้ใช้ป้อนข้อมูลที่ไม่ถูกต้อง
อ่านเพิ่มเติม: VBA เพื่อรับค่าที่ไม่ซ้ำจากคอลัมน์ไปยังอาร์เรย์ใน Excel (เกณฑ์ 3 ข้อ)
การอ่านที่คล้ายกัน
- VBA เพื่อ Transpose Array ใน Excel (3 วิธี)
- วิธีตั้งชื่ออาร์เรย์ตารางใน Excel (ด้วยขั้นตอนง่ายๆ)
- Excel VBA เพื่ออ่านไฟล์ CSV ลงใน Array (ตัวอย่างในอุดมคติ 4 ตัวอย่าง)
- Excel VBA:วิธีการกรองด้วยเกณฑ์หลายเกณฑ์ในอาร์เรย์ (7 วิธี)
📌 ขั้นตอนที่ 7:สร้างรายการตรวจสอบข้อมูลในคอลัมน์ผลิตภัณฑ์
Sub data_validation_from_array()
Dim region, product As Variant
Dim region_range, product_range As Range
region = Array("North", "South", "East", "West")
product = Array("TV", "Fridge", "Mobile", "Laptop", "AC")
Set region_range = Range("C5:C10")
Set product_range = Range("D5:D10")
With region_range.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(region, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Please Provide a Valid Input"
.ShowInput = True
.ShowError = True
End With
With product_range.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(product, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Error"
.InputMessage = ""
.ErrorMessage = "Please Provide a Valid Input"
.ShowInput = True
.ShowError = True
End With
End Sub
ด้วย product_range.Validation: ด้วยบรรทัดนี้ เราเลือกคอลัมน์ของ ผลิตภัณฑ์ .
ลบ: หากมีรายการตรวจสอบที่มีอยู่ก่อน รายการดังกล่าวจะลบออก
ประเภทเพิ่ม:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(product, “,”) :เรากำลังเพิ่มรายการตรวจสอบข้อมูลที่นี่
- AlertStyle กำหนดประเภทของการแจ้งเตือนที่เราจะแสดงหากผู้ใช้ป้อนรายการนอกรายการ
- สูตร1:=เข้าร่วม(ภูมิภาค, “,”) :โดย สูตร เรากำลังระบุค่าในรายการตรวจสอบ เรามีเงื่อนไขบางอย่างใน ผลิตภัณฑ์ โดยใช้ เข้าร่วม เมธอด เรากำลังรวมพวกมันด้วยเครื่องหมายจุลภาคคั่น (,) ค่าหรือรายการเหล่านี้จะเป็นแหล่งที่มาของเราในรายการตรวจสอบความถูกต้อง
.IgnoreBlank =จริง :โดยบรรทัดนี้ เราอนุญาตให้มีค่าว่าง
.InCellDropdown =True :เราจะแสดงรายการแบบเลื่อนลงพร้อมค่าที่ยอมรับได้
.ErrorTitle =“ข้อผิดพลาด” :เรากำลังตั้งชื่อกล่องโต้ตอบข้อผิดพลาดในการตรวจสอบข้อมูล
.ErrorMessage =“โปรดระบุข้อมูลที่ถูกต้อง” :มันจะตั้งค่าข้อความแสดงข้อผิดพลาดในกล่องโต้ตอบข้อผิดพลาดในการตรวจสอบข้อมูล
.ShowInput =จริง: โดยจะแสดงข้อความสำหรับป้อนการตรวจสอบความถูกต้องของข้อมูลทุกครั้งที่ผู้ใช้คลิกที่เซลล์ในช่วงการตรวจสอบความถูกต้องของข้อมูล
.ShowError =True: มันจะแสดงกล่องโต้ตอบข้อผิดพลาดหากผู้ใช้ป้อนข้อมูลที่ไม่ถูกต้อง
เรียกใช้โค้ด VBA
เราได้สร้างโค้ด VBA แล้ว ตอนนี้ได้เวลาตรวจสอบว่ารหัสทำงานถูกต้องหรือไม่ เราจะเรียกใช้รหัสนี้ในชีตปัจจุบันของเรา
ขั้นแรก กด Alt+F8 บนแป้นพิมพ์เพื่อเปิดกล่องโต้ตอบมาโคร
จากนั้นเลือก data_validation_from_array และคลิกที่ เรียกใช้ .
ตอนนี้ คลิกที่เซลล์ใดก็ได้ใน ภูมิภาค คอลัมน์
ที่นี่คุณจะเห็นไอคอนแบบเลื่อนลงข้างเซลล์ ตอนนี้ คลิกที่ไอคอนแบบเลื่อนลง
คุณสามารถดูค่าทั้งหมดในรายการตรวจสอบได้ที่นี่ เราให้ค่านี้ใน ภูมิภาค . ของเรา อาร์เรย์ ตอนนี้ เลือกข้อมูลสำหรับแต่ละเซลล์
มาดู สินค้า . กัน คอลัมน์. คลิกที่เซลล์ใดก็ได้ใน ผลิตภัณฑ์ คอลัมน์
นอกจากนี้เรายังมีไอคอนแบบเลื่อนลงที่นี่ ตอนนี้ คลิกที่ดรอปดาวน์
อย่างที่คุณเห็น ค่าทั้งหมดที่เราให้ไว้ใน ผลิตภัณฑ์ อาร์เรย์ในโค้ด VBA ของเราแสดงไว้ที่นี่ ดังนั้นเราจึงใช้รหัส VBA ใน Excel เพื่อสร้างรายการตรวจสอบความถูกต้องจากอาร์เรย์ได้สำเร็จ
ตอนนี้ ให้ค่าที่ไม่ได้อยู่ในอาร์เรย์ที่เรากำหนด เรากำลังทดลองใช้ผลิตภัณฑ์ “หูฟัง ”.
ตอนนี้ให้กด Enter . หลังจากนั้นคุณจะเห็นสิ่งต่อไปนี้:
อย่างที่คุณเห็น มันกำลังแสดงกล่องโต้ตอบข้อผิดพลาด เราตั้งชื่อข้อผิดพลาดและข้อความแสดงข้อผิดพลาดในรหัส VBA แล้วและแสดงไว้อย่างชัดเจน
อ่านเพิ่มเติม: สร้างรายการแบบเลื่อนลงสำหรับการตรวจสอบความถูกต้องของข้อมูลพร้อมการเลือกหลายรายการใน Excel
💬 สิ่งที่ควรจำ
✎ คุณสามารถคัดลอกเซลล์ใดก็ได้ที่มีการตรวจสอบความถูกต้องของข้อมูล แล้ววางลงในเซลล์อื่นๆ เซลล์ที่ได้จะมีรายการตรวจสอบข้อมูลเหมือนกัน
✎ นี่ไม่ใช่อาร์เรย์ไดนามิก หากคุณต้องการขยายรายการตรวจสอบความถูกต้องของข้อมูล ให้เพิ่มเป็นสตริงในอาร์เรย์ มันจะไปได้ดี
บทสรุป
โดยสรุป ฉันหวังว่าบทช่วยสอนนี้จะให้ความรู้ที่เป็นประโยชน์แก่คุณในการสร้างรายการตรวจสอบข้อมูลใน Excel โดยใช้รหัส VBA เราขอแนะนำให้คุณเรียนรู้และใช้คำแนะนำเหล่านี้ทั้งหมดกับชุดข้อมูลของคุณ ดาวน์โหลดแบบฝึกหัดและลองทำเอง นอกจากนี้โปรดแสดงความคิดเห็นในส่วนความคิดเห็น ความคิดเห็นอันมีค่าของคุณทำให้เรามีแรงจูงใจในการสร้างบทแนะนำแบบนี้
อย่าลืมตรวจสอบเว็บไซต์ของเรา Exceldemy.com สำหรับปัญหาและแนวทางแก้ไขต่างๆ ที่เกี่ยวข้องกับ Excel
เรียนรู้วิธีใหม่ๆ และเติบโตต่อไป!
บทความที่เกี่ยวข้อง
- วิธีใช้คำสั่ง IF ในสูตรตรวจสอบความถูกต้องของข้อมูลใน Excel (6 วิธี)
- ใช้ช่วงที่มีชื่อสำหรับรายการตรวจสอบข้อมูลด้วย VBA ใน Excel
- วิธีการ ReDim รักษาอาร์เรย์ 2 มิติใน Excel VBA (2 วิธีง่ายๆ)
- Excel VBA:ลบรายการที่ซ้ำกันออกจากอาร์เรย์ (2 ตัวอย่าง)
- คำนวณค่าเฉลี่ยของอาร์เรย์ด้วย VBA (มาโคร, UDF และ UserForm)