วิธีใช้ VBA Range Offset (11 วิธี)

  • แบ่งปันสิ่งนี้
Hugh West

หากคุณกำลังมองหาวิธีที่ง่ายที่สุดในการใช้ 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 ได้อย่างมีประสิทธิภาพ หวังว่าคุณจะพบว่ามีประโยชน์ หากคุณมีข้อเสนอแนะหรือคำถามใดๆ โปรดแบ่งปันกับเรา

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง