สารบัญ
หากคุณกำลังมองหาวิธีที่ง่ายที่สุดในการใช้ VBA Range Offset คุณจะพบบทความนี้ที่คุ้มค่า เรามาเริ่มกันที่วิธีใช้ VBA Range Offset
ดาวน์โหลดสมุดงาน
VBA Range Offset.xlsm
11 วิธีในการใช้ VBA Range Offset
ฉันมีตารางข้อมูลต่อไปนี้ซึ่งมีข้อมูลของนักเรียนบางคนในวิทยาลัย เมื่อใช้ชุดข้อมูลนี้ ฉันจะอธิบายวิธีใช้ VBA Range Offset
เพื่อจุดประสงค์นี้ ฉันใช้เวอร์ชัน Microsoft Excel 365 คุณสามารถใช้เวอร์ชันใดก็ได้ รุ่นอื่นตามความสะดวกของคุณ
วิธีที่ 1: การเลือกเซลล์โดยใช้ช่วง VBA
ที่นี่ เราจะเลือกเซลล์ที่มีชื่อ แดเนียล เดโฟ เพื่อจุดประสงค์นี้ เราจะใช้ ฟังก์ชัน RANGE ใน VBA
Step-01 :
➤ไปที่ นักพัฒนา แท็บ>> Visual Basic ตัวเลือก
จากนั้น Visual Basic Editor จะเปิดขึ้น
➤ไปที่ แทรก แท็บ>> โมดูล ตัวเลือก
หลังจากนั้น โมดูล จะถูกสร้างขึ้น
ขั้นตอนที่ 02 :
➤เขียนโค้ดต่อไปนี้
4470
มันจะเลือกเซลล์ B8 .
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะได้เซลล์ที่มี แดเนียล เดโฟ ถูกเลือก
อ่านเพิ่มเติม: วิธีใช้ Range Object ของ VBA ใน Excel
วิธีที่ 2: การเลือกกลุ่มของเซลล์ที่อยู่ติดกันโดยใช้ช่วง VBA
คุณสามารถเลือกช่วงของเซลล์ที่อยู่ติดกัน เช่น คอลัมน์ ชื่อนักเรียน และคอลัมน์ ผลลัพธ์ ใน ตารางต่อไปนี้โดยทำตามวิธีนี้
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ เมธอด-1
4803
จะเลือกเซลล์จาก B5 ถึง C10 .
<3
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะได้เซลล์ใน คอลัมน์ B และเลือก คอลัมน์ C แล้ว
วิธีที่ 3: การเลือกกลุ่มของเซลล์ที่ไม่ติดกันโดยใช้ช่วง VBA
สมมติว่า คุณต้องการเลือกนักเรียนที่ชื่อ William David และ Michael Anthony รวมถึง Email Id ตามลำดับ หากต้องการเลือกเซลล์ที่ไม่สอดคล้องกัน คุณสามารถทำตามวิธีนี้ได้
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอน -01 ของ เมธอด-1
4058
จะเลือกเซลล์ B6 , D6 , B9, และ D9 .
➤กด F5
ผลลัพธ์ :<3
จากนั้น คุณจะได้เซลล์ที่มีชื่อของนักเรียน วิลเลียม เดวิด , ไมเคิล แอนโธนี และ รหัสอีเมล ที่เลือกไว้
วิธีที่ 4: การเลือกกลุ่มของเซลล์และช่วงที่ไม่ติดกันโดยใช้ช่วงของ VBA
คุณสามารถเลือกช่วงของเซลล์และบางเซลล์ที่ไม่ติดกันได้พร้อมกัน ตามนี้ครับวิธีการ
ขั้นตอน-01 :
➤ติดตาม ขั้นตอน-01 ของ วิธีการ- 1
4759
จะเลือกช่วงของเซลล์ในช่วง B5:B10 และอีกสองเซลล์ที่เหลือ D6 , D10 .
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะได้รับ เซลล์ในคอลัมน์ ชื่อนักเรียน และ รหัสอีเมล สองรายการสำหรับ วิลเลียม เดวิด และ โดนัลด์ พอล ที่เลือกไว้
วิธีที่ 5: การเลือกช่วงโดยใช้ VBA Range Offset
คุณสามารถเลือกช่วงของเซลล์ใน คอลัมน์ชื่อนักเรียน โดยใช้ปุ่ม ฟังก์ชัน OFFSET .
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ Method-1
6983
ในตอนแรก Range(“A1:A6”) จะเลือกช่วง A1:A6 จากนั้น Offset(4, 1) จะย้าย 4 แถวลงจากเซลล์ A1 และ 1 คอลัมน์ไปทางด้านขวา หลังจากนั้น จำนวนเซลล์ที่เท่ากันในช่วง A1:A6 จะถูกเลือกจากที่นี่
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะเลือกคอลัมน์ ชื่อนักศึกษา .
วิธีที่ 6: VBA Range Offset Negative
คุณสามารถเลือกคอลัมน์ รหัสอีเมล โดยทำตามวิธีนี้
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ วิธีการที่ 1
2940
ในตอนแรก Range(“F11:F16”) จะเลือกช่วง F11:F16 จากนั้น Offset(-6, -2) จะเลื่อน 6 แถวขึ้นจากเซลล์ F11 และ 2 คอลัมน์ทางด้านซ้าย หลังจากนั้น จำนวนเซลล์ที่เท่ากันในช่วง F11:F16 จะถูกเลือกจากที่นี่
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณจะสามารถเลือกคอลัมน์ รหัสอีเมล ได้
การอ่านที่คล้ายกัน:
- VBA สำหรับแต่ละเซลล์ในช่วงใน Excel (3 วิธี)
- วิธีการนับข้อความใน Excel (7 เคล็ดลับง่ายๆ)
วิธีที่ 7: การเลือกช่วงที่เกี่ยวข้องกับเซลล์ที่ใช้งานอยู่
ที่นี่ เรามีเซลล์ที่ใช้งานอยู่ (เซลล์ A1 ) และสำหรับเซลล์นี้ เราจะเลือกช่วงข้อมูลในวิธีนี้
ขั้นตอนที่-01 :
➤ติดตาม ขั้นตอน-01 ของ วิธีการ-1
8665
ที่นี่ activecell คือ A1
ส่วนแรก activecell.Offset(4, 1) จะเลือกเซลล์ 4 แถวด้านล่างและ 1 คอลัมน์ด้านขวาจากเซลล์ A1 และส่วนที่สอง activecell.Offset(9, 3) จะเลือกเซลล์ 9 แถวด้านล่างและ 3 คอลัมน์ด้านขวาจากเซลล์ A1 .
สุดท้าย ทั้งหมด ของเซลล์ระหว่างสองสิ่งนี้ เซลล์จะถูกเลือก
➤กด F5
ผลลัพธ์ :
จากนั้น คุณจะสามารถเลือกช่วงข้อมูลทั้งหมดได้
วิธีที่ 8: คัดลอกช่วง
ถ้าคุณต้องการคัดลอกช่วงของเซลล์ จากนั้นคุณสามารถทำตามวิธีนี้ได้
ขั้นตอนที่ 01 :
➤ติดตาม ขั้นตอนที่ 01 ของ เมธอด-1
4648
ในตอนแรก Range(“A1:A6”) จะเลือกช่วง A1:A6 จากนั้น Offset(4, 1) จะย้าย 4 แถวลงจากเซลล์ A1 และ 1 คอลัมน์ทางด้านขวา หลังจากนั้น จำนวนเซลล์ที่เท่ากันในช่วง A1:A6 จะถูกเลือกจากที่นี่
สุดท้าย จะคัดลอกค่าในช่วง B5:B10 .
➤กด F5
ผลลัพธ์ :
หลังจากนั้น คุณ จะสามารถคัดลอกช่วงข้อมูลใน คอลัมน์ชื่อนักเรียน ได้
วิธีที่ 9: การลบช่วง
ที่นี่ เราจะแสดงวิธีการลบช่วงของข้อมูลโดยใช้โค้ด VBA
Step-01 :
➤ทำตาม ขั้นตอนที่ 01 ของ วิธีที่ 1
2556
ประการแรก Range(“F11:F17”) จะเลือก F11:F17 จากนั้น ออฟเซ็ต(-7, -2) จะย้าย 7 แถวขึ้นไปจากเซลล์ F11 และ 2 คอลัมน์ไปทางด้านซ้าย หลังจากนั้น จำนวนเซลล์ที่เท่ากันในช่วง F11:F17 จะถูกเลือกจากที่นี่
สุดท้าย จะลบช่วง D4:D10 .
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะคัดลอก ช่วงข้อมูลใน คอลัมน์ ID อีเมล .
วิธีที่ 10: การใช้ VBA Range Offset เพื่อป้อนค่า
ที่นี่ เรามีเซลล์ว่าง (เราได้ลบค่าในเซลล์นี้เพื่ออธิบายวิธีนี้) ใน คอลัมน์ชื่อนักเรียน และเราต้องการเติมด้วยชื่อ Joseph Michael โดยใช้ก รหัส VBA เราสามารถป้อนค่านี้ได้อย่างง่ายดาย
ขั้นตอนที่ 01 :
➤ติดตาม Step-01 ของ Method-1
9749
ประการแรก Range(“A1”) จะเลือกเซลล์ A1 จากนั้น Offset(6, 1) จะย้าย 6 แถวลงจากเซลล์ A1 และ 1 คอลัมน์ไปทางด้านขวา หลังจากนั้น เซลล์ B7 จะถูกเลือก และสุดท้าย เซลล์จะป้อนค่า “Joseph Michael” ในเซลล์นี้
➤กด F5
ผลลัพธ์ :
ด้วยวิธีนี้ คุณจะได้รับชื่อ Joseph Michael ในเซลล์ B7 .
วิธีที่ 11: การใช้ VBA Range Offset เพื่อรับเอาต์พุต
สมมติว่าคุณต้องการเขียน ผ่าน หรือ จับคู่ไม่สำเร็จ ชื่อของนักเรียนขึ้นอยู่กับ คอลัมน์ผลลัพธ์ โดยที่ ผ่าน หรือ ไม่ผ่าน ถูกเขียนไว้ในวงเล็บเหลี่ยม หากต้องการค้นหาสตริงย่อยนี้ใน คอลัมน์ผลลัพธ์ และจดไว้ในคอลัมน์ ผ่าน/ไม่ผ่าน ทำตามวิธีนี้
Step-01 :
➤ทำตาม Step-01 ของ Method-1
8492
ที่นี่ ช่วงเซลล์ C5:C10 ถูกเลือกโดย Range(“C5:C10”) ซึ่งเป็น คอลัมน์ผลลัพธ์
InStr(ค่าเซลล์ “ผ่าน”) > 0 เป็นเงื่อนไขที่ตัวเลขมากกว่าศูนย์ (เมื่อเซลล์มี “ผ่าน” ) บรรทัดต่อไปนี้จะดำเนินการต่อและให้ผลลัพธ์ในเซลล์ที่อยู่ติดกันเป็น ผ่าน . ที่นี่ เซลล์ที่อยู่ติดกันจะถูกเลือกโดย cell.Offset(0, 1) ซึ่งหมายความว่าจะย้าย 1 คอลัมน์ไปทางขวาจากเซลล์อินพุต
หากเงื่อนไขกลายเป็นเท็จ หมายความว่าเซลล์นั้นไม่มี “ผ่าน” จากนั้นบรรทัดภายใต้ อื่น ๆ จะดำเนินการและให้ค่าเอาต์พุตในเซลล์ที่อยู่ติดกันเป็น ล้มเหลว .
การวนซ้ำนี้จะดำเนินต่อไปสำหรับแต่ละเซลล์ .
➤กด F5
ผลลัพธ์ :
จากนั้นคุณจะได้รับ ผลลัพธ์ ผ่านหรือไม่ผ่าน ในคอลัมน์ ผ่าน/ไม่ผ่าน
ส่วนการปฏิบัติ
สำหรับการทำแบบฝึกหัด ด้วยตัวคุณเอง เราได้จัดเตรียมส่วน แบบฝึกหัด ดังด้านล่างในชีตที่ชื่อว่า แบบฝึกหัด โปรดทำด้วยตัวเอง
สรุป
ในบทความนี้ ฉันพยายามครอบคลุมวิธีที่ง่ายที่สุดในการใช้ VBA range offset ใน Excel ได้อย่างมีประสิทธิภาพ หวังว่าคุณจะพบว่ามีประโยชน์ หากคุณมีข้อเสนอแนะหรือคำถามใดๆ โปรดแบ่งปันกับเรา