สารบัญ
การนำ VBA ไปใช้เป็นวิธีที่มีประสิทธิภาพสูงสุด รวดเร็วที่สุด และปลอดภัยที่สุดในการเรียกใช้การดำเนินการใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีการตรวจสอบว่าสตริงมีสตริงอื่นใน Excel หรือไม่โดยใช้ VBA
ดาวน์โหลดเทมเพลตการปฏิบัติ
คุณ สามารถดาวน์โหลดเทมเพลต Excel แบบฝึกหัดได้ฟรีจากที่นี่
VBA เพื่อตรวจสอบว่าสตริงมีค่าหรือไม่.xlsm
6 วิธีการใน VBA เพื่อตรวจสอบว่าสตริงมีสตริงอื่นใน Excel หรือไม่
ด้านล่างในส่วนนี้ คุณจะพบ 6 วิธีที่มีประสิทธิภาพเกี่ยวกับวิธีใช้ VBA เพื่อตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่ .
1. VBA เพื่อตรวจสอบว่าสตริงมีสตริงย่อยหรือไม่
ด้านล่างเป็นตัวอย่างของ ฟังก์ชัน InStr เพื่อค้นหาว่าสตริงมีสตริงย่อยใน Excel หรือไม่
ขั้นตอน:
- กด Alt + F11 บนแป้นพิมพ์หรือไปที่แท็บ ผู้พัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู คลิก แทรก -> โมดูล .
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
8334
ของคุณ โค้ดพร้อมที่จะทำงานแล้ว
- เรียกใช้ มาโคร
หาก สตริงของคุณมีสตริงย่อย คุณจะพบผลลัพธ์ที่ตรงกัน มิฉะนั้น จะส่งคืนไม่พบการจับคู่
ในตัวอย่างของเรา เราต้องการทราบว่าของเราสตริงหลัก “ ภาพยนตร์: Iron Man, Batman, Superman, Spiderman, Thor ” มีคำว่า “ Hulk ” หรือไม่ ไม่เป็นเช่นนั้น เราได้รับผลลัพธ์ ไม่พบภาพยนตร์
2. VBA เพื่อตรวจสอบว่าสตริงมีตัวเลขหรือไม่
คุณสามารถค้นหาว่าสตริงมีตัวเลขหรือไม่โดยใช้โค้ด VBA
ดูตัวอย่างต่อไปนี้ที่เรา จะพบว่าสตริงใดมีตัวเลขพร้อมชื่อภาพยนตร์
ขั้นตอนในการตรวจสอบว่าสตริงมีตัวเลขด้วย VBA แสดงไว้ด้านล่าง
ขั้นตอน:
- เหมือนเดิม เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
9794
- นี่ไม่ใช่ ขั้นตอนย่อยสำหรับการเรียกใช้โปรแกรม VBA ซึ่งเป็นการสร้าง User Defined Function (UDF) ซึ่งเราจะเรียกใช้ในเวิร์กชีตของเราเพื่อเรียกใช้งาน ดังนั้น หลังจากเขียนโค้ดแล้ว แทนที่จะคลิกปุ่ม เรียกใช้ ให้คลิกปุ่ม บันทึก จากแถบเมนูเพื่อบันทึกไฟล์มาโคร
- ย้อนกลับ ลงในแผ่นงานที่สนใจและเขียนฟังก์ชันที่ผู้ใช้กำหนดซึ่งคุณเพิ่งสร้างขึ้นในโค้ด VBA ( SearchNumber ในบรรทัดแรกของโค้ด) และภายในวงเล็บของฟังก์ชัน ให้ป้อนหมายเลขอ้างอิงเซลล์ของเซลล์ของสตริงที่มีตัวเลขนำหน้า (เช่น เซลล์B5 ).
- กด Enter .
คุณจะได้รับค่าบูลีน ( TRUE หรือ เท็จ ) หากสตริงในเซลล์มีตัวเลข คุณจะได้ TRUE มิฉะนั้น FALSE .
- ลากเซลล์ลงโดย Fill Handle เพื่อใช้สูตรกับเซลล์ที่เหลือเพื่อตรวจสอบว่าสตริงใดมีตัวเลขและไม่มี
<3
3. VBA เพื่อแยกตัวเลขจากสตริง
ในส่วนด้านบน เราเรียนรู้วิธีการตรวจสอบว่าสตริงมีตัวเลขหรือไม่ และในส่วนนี้ เราจะเรียนรู้วิธีแยกตัวเลขเหล่านั้นและวางไว้ในเซลล์อื่นตามตัวอย่างด้านล่าง
ขั้นตอนในการตรวจสอบว่าสตริงมีตัวเลขหรือไม่ และแยกตัวเลขเหล่านั้น ด้วย VBA แสดงไว้ด้านล่าง
ขั้นตอน:
- เปิด Visual Basic Editor จาก นักพัฒนาซอฟต์แวร์ แท็บและ แทรก a ฟอร์มผู้ใช้ คราวนี้จากแท็บแทรกในหน้าต่างรหัส
- จาก กล่องเครื่องมือ ที่ปรากฏขึ้น ให้ลาก และวาง CommandButton ใน UserForm .
- ดับเบิลคลิก บน คัดลอกโค้ดต่อไปนี้แล้ววาง
1404
- เรียกใช้ โค้ด จากนั้นระบบจะนำคุณไปยังเวิร์กชีตที่สนใจ
- คลิกปุ่มคำสั่ง และคุณจะได้รับหมายเลขที่ดึงออกมาจากสตริง
4. VBA เพื่อตรวจสอบว่าสตริงมีตัวอักษรบางตัวหรือไม่
วิธีนี้เกือบคล้ายกับวิธีการตรวจสอบสตริงย่อยในสตริง
ด้านล่างคือฟังก์ชัน InStr เพื่อค้นหาว่าสตริงมีตัวอักษรบางตัวใน Excel หรือไม่
ขั้นตอน :
- เหมือนเดิม เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
5656
โค้ดของคุณพร้อมทำงานแล้ว
- เรียกใช้ โปรแกรม หาก สตริงของคุณมีตัวอักษร คุณจะพบรายการที่ตรงกัน มิฉะนั้น จะส่งคืนไม่พบรายการที่ตรงกัน
ในตัวอย่างของเรา เราต้องการทราบว่าสตริงหลักของเรา “ ภาพยนตร์: ไอรอนแมน, แบทแมน, ซูเปอร์แมน, สไปเดอร์แมน, ธอร์ ” มีตัวอักษร “ Z ” หรือไม่ เนื่องจากไม่ใช่ เราจึงได้รับผลลัพธ์ ไม่พบจดหมาย
5. VBA เพื่อตรวจสอบว่าช่วงของสตริงมีสตริงอื่นหรือไม่
เราได้เรียนรู้วิธีการตรวจสอบว่าสตริงที่กำหนดมีสตริงอื่นหรือไม่ แต่ในส่วนนี้ เราจะเรียนรู้วิธีการตรวจสอบว่าช่วงของสตริงมีสตริงย่อยหรือไม่ โดยใช้ชุดข้อมูลต่อไปนี้เป็นตัวอย่าง
ขั้นตอน:<2
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส .
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
6061
โค้ดของคุณพร้อมที่จะเรียกใช้
- เรียกใช้ รหัส
หากคุณ ช่วงของ สตริงมีสตริงย่อย จากนั้นคุณจะพบรายการที่ตรงกัน มิฉะนั้น จะส่งคืนไม่พบรายการที่ตรงกัน
6. VBA เพื่อแยกสตริงออกจากสตริง
ในส่วนนี้ เราจะดูวิธีการตรวจสอบว่าสตริงมีสตริงย่อยหรือไม่ และแยกสตริงย่อยที่อยู่ในเซลล์อื่น
เราจะแยกข้อมูลของ ชื่อที่ขึ้นต้นด้วย “ Chris ” จากชุดข้อมูลต่อไปนี้
ขั้นตอน :
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
5435
โค้ดของคุณพร้อมเรียกใช้แล้ว
- <11 เรียกใช้ รหัส
เฉพาะชื่อที่ขึ้นต้นด้วย “ Chris ” เท่านั้นที่จะ ถูกเก็บไว้ในเซลล์ที่กำหนดไว้ล่วงหน้า