Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

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

บทช่วยสอนนี้จะเน้นที่ตัวอย่างและภาพประกอบที่เหมาะสม ดังนั้น อ่านบทความทั้งหมดเพื่อเพิ่มพูนความรู้ของคุณ

ดาวน์โหลดแบบฝึกหัดเล่มนี้

การตรวจสอบความถูกต้องของข้อมูลใน Excel คืออะไร

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

ทำไมจึงเรียกว่าการตรวจสอบข้อมูล? เพราะทำให้แน่ใจว่าเฉพาะข้อมูลที่ถูกต้องเท่านั้นที่สร้างรายการ

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

ขั้นตอนทีละขั้นตอนในการสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์ด้วย Excel VBA

ก่อนอื่น ดูชุดข้อมูลของเรา:

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

ที่นี่ เรามีชุดข้อมูลของพนักงานขายบางส่วน เรามีพื้นที่ทำงานและจำหน่ายผลิตภัณฑ์ ที่นี่ เราจะสร้างรายการตรวจสอบข้อมูลสำหรับคอลัมน์ภูมิภาคและผลิตภัณฑ์

รายการตรวจสอบข้อมูลของเราประกอบด้วย:

  • ภูมิภาค :“เหนือ”, “ใต้”, “ตะวันออก”, “ตะวันตก”
  • ผลิตภัณฑ์ :“ทีวี”, “ตู้เย็น”, “มือถือ”, “แล็ปท็อป”, “แอร์”

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

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

สร้างโค้ด VBA เพื่อสร้างรายการตรวจสอบข้อมูล Excel จากอาร์เรย์

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

📌 ขั้นตอนที่ 1:เปิดตัวแก้ไข VBA

  • ขั้นแรก ให้กด Alt+F11 บนแป้นพิมพ์เพื่อเปิดตัวแก้ไข VBA
  • จากนั้น เลือก แทรก>โมดูล .

Excel 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”) :โดยรหัสบรรทัดนี้ เรากำลังระบุ ภูมิภาค คอลัมน์

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

ตั้งค่า product_range =ช่วง(“D5:D10”) :และโค้ดบรรทัดนี้ระบุ ผลิตภัณฑ์ คอลัมน์

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

อ่านเพิ่มเติม: วิธีการแปลงช่วงเป็นอาร์เรย์ใน 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 บนแป้นพิมพ์เพื่อเปิดกล่องโต้ตอบมาโคร

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

จากนั้นเลือก data_validation_from_array และคลิกที่ เรียกใช้ .

ตอนนี้ คลิกที่เซลล์ใดก็ได้ใน ภูมิภาค คอลัมน์

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

ที่นี่คุณจะเห็นไอคอนแบบเลื่อนลงข้างเซลล์ ตอนนี้ คลิกที่ไอคอนแบบเลื่อนลง

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

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

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

มาดู สินค้า . กัน คอลัมน์. คลิกที่เซลล์ใดก็ได้ใน ผลิตภัณฑ์ คอลัมน์

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

นอกจากนี้เรายังมีไอคอนแบบเลื่อนลงที่นี่ ตอนนี้ คลิกที่ดรอปดาวน์

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

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

ตอนนี้ ให้ค่าที่ไม่ได้อยู่ในอาร์เรย์ที่เรากำหนด เรากำลังทดลองใช้ผลิตภัณฑ์ “หูฟัง ”.

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

ตอนนี้ให้กด Enter . หลังจากนั้นคุณจะเห็นสิ่งต่อไปนี้:

Excel VBA เพื่อสร้างรายการตรวจสอบข้อมูลจากอาร์เรย์

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

อ่านเพิ่มเติม: สร้างรายการแบบเลื่อนลงสำหรับการตรวจสอบความถูกต้องของข้อมูลพร้อมการเลือกหลายรายการใน Excel

💬 สิ่งที่ควรจำ

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

✎ นี่ไม่ใช่อาร์เรย์ไดนามิก หากคุณต้องการขยายรายการตรวจสอบความถูกต้องของข้อมูล ให้เพิ่มเป็นสตริงในอาร์เรย์ มันจะไปได้ดี

บทสรุป

โดยสรุป ฉันหวังว่าบทช่วยสอนนี้จะให้ความรู้ที่เป็นประโยชน์แก่คุณในการสร้างรายการตรวจสอบข้อมูลใน Excel โดยใช้รหัส VBA เราขอแนะนำให้คุณเรียนรู้และใช้คำแนะนำเหล่านี้ทั้งหมดกับชุดข้อมูลของคุณ ดาวน์โหลดแบบฝึกหัดและลองทำเอง นอกจากนี้โปรดแสดงความคิดเห็นในส่วนความคิดเห็น ความคิดเห็นอันมีค่าของคุณทำให้เรามีแรงจูงใจในการสร้างบทแนะนำแบบนี้

อย่าลืมตรวจสอบเว็บไซต์ของเรา Exceldemy.com สำหรับปัญหาและแนวทางแก้ไขต่างๆ ที่เกี่ยวข้องกับ Excel

เรียนรู้วิธีใหม่ๆ และเติบโตต่อไป!

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

  • วิธีใช้คำสั่ง IF ในสูตรตรวจสอบความถูกต้องของข้อมูลใน Excel (6 วิธี)
  • ใช้ช่วงที่มีชื่อสำหรับรายการตรวจสอบข้อมูลด้วย VBA ใน Excel
  • วิธีการ ReDim รักษาอาร์เรย์ 2 มิติใน Excel VBA (2 วิธีง่ายๆ)
  • Excel VBA:ลบรายการที่ซ้ำกันออกจากอาร์เรย์ (2 ตัวอย่าง)
  • คำนวณค่าเฉลี่ยของอาร์เรย์ด้วย VBA (มาโคร, UDF และ UserForm)