สารบัญ
ในบทความนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถใช้คุณสมบัติ UsedRange ของ VBA ใน Excel ได้อย่างไร คุณจะได้เรียนรู้การใช้คุณสมบัติ UsedRange สำหรับช่วงปิด สำหรับช่วงที่กระจัดกระจาย สำหรับเวิร์กชีตที่ไม่ได้ใช้งาน และสำหรับเวิร์กบุ๊กที่ไม่ได้ใช้งานด้วย
ดาวน์โหลดแบบฝึกหัดแบบฝึกหัด
ดาวน์โหลดเวิร์กบุ๊กนี้เพื่อฝึกฝนขณะที่คุณกำลังอ่านบทความนี้
Excel VBA UsedRange.xlsm
บทนำเกี่ยวกับคุณสมบัติ UsedRange ของ VBA ใน Excel
คุณสมบัติ UsedRange ของ VBA ส่งคืนวัตถุ Range จะส่งกลับช่วงที่ประกอบด้วยเซลล์ทั้งหมดในเวิร์กชีตที่ถูกใช้รวมถึงแถวว่างในตอนเริ่มต้น
ในโค้ด VBA คุณสมบัติ UsedRange จะใช้คู่กับชื่อเวิร์กชีต ดังนั้นไวยากรณ์ทั่วไปสำหรับการใช้คุณสมบัติ UsedRange สำหรับเวิร์กชีตที่ใช้งานอยู่คือ:
Dim Rng As Range
Set Rng = ActiveSheet.UsedRange
⧭ หมายเหตุ:
- ที่นี่ Rng เป็นชื่อของ Range ที่ส่งคืนโดยคุณสมบัติ UsedRange คุณสามารถใช้อะไรก็ได้ที่คุณต้องการ
- หากต้องการใช้คุณสมบัติ UsedRange ในเวิร์กชีตอื่นนอกเหนือจากเวิร์กชีตที่ใช้งานอยู่ ให้ใช้ชื่อของเวิร์กชีตแทน
ตัวอย่างเช่น เมื่อต้องการนำไปใช้ในเวิร์กชีตชื่อ Sheet1 ให้แทรก:
Set Rng = Worksheets("Sheet1").UsedRange
4 วิธี การใช้คุณสมบัติ UsedRange ของ VBA ใน Excel
นี่คือ 4 ที่พบบ่อยที่สุดวิธีใช้คุณสมบัติ UsedRange ใน VBA .
1. คุณสมบัติ VBA UsedRange สำหรับช่วงปิด
ก่อนอื่น เราจะใช้คุณสมบัติ VBA UsedRange สำหรับเวิร์กชีตที่มีช่วงปิด
มัน จะส่งกลับช่วงทั้งหมดรวมถึงแถวว่างในจุดเริ่มต้น
ที่นี่เรามีเวิร์กชีตชื่อ Sheet1 ที่มีช่วงปิดซึ่งประกอบด้วยชื่อ วันที่เข้าร่วม และเงินเดือนของ พนักงานบางคนของบริษัท
ตอนนี้ ถ้าคุณใช้คุณสมบัติ UsedRange ในเวิร์กชีตนี้ ก็จะส่งกลับช่วง B2:C13 (รวมแถวว่างในจุดเริ่มต้น)
หาก Sheet1 ทำงานอยู่ คุณสามารถใช้:
Dim Rng As Range
Set Rng = ActiveSheet.UsedRange
หรือคุณสามารถใช้:
<7 Dim Rng As Range
Set Rng = Worksheets("Sheet1").UsedRange
⧭ เอาต์พุต :
เราใช้คุณสมบัติ Select ของ Range ภายในรหัส ดังนั้น ถ้าเรารันโค้ด ก็จะเลือกช่วง B2:D13 ของ Sheet1 .
อ่านเพิ่มเติม: วิธีใช้ Range Object ของ VBA ใน Excel (5 คุณสมบัติ)
2. คุณสมบัติ VBA UsedRange สำหรับช่วงที่กระจัดกระจาย
ถ้าคุณมีช่วงที่กระจัดกระจายในเวิร์กชีต คุณสมบัติ UsedRange จะส่งกลับช่วงรวมถึงเซลล์ว่างที่อยู่ระหว่างนั้น
ตอนนี้ ใน Sheet1 เรามีเงินเดือนรวม เงินเดือนสูงสุด และเงินเดือนต่ำสุดกระจายอยู่ในที่ต่างๆ ตั้งแต่เซลล์ B3 ถึง G3 ในลักษณะนี้:
ตอนนี้ใช้โค้ดสองบรรทัดใดก็ได้เพื่อใช้คุณสมบัติ UsedRange
Dim Rng As Range
Set Rng = ActiveSheet.UsedRange
หรือ
Dim Rng As Range
Set Rng = Worksheets("Sheet1").UsedRange
⧭ เอาต์พุต:
ส่งคืนเซลล์ทั้งหมดภายในช่วง B2:G3 ของ Sheet1 รวมถึงเซลล์ว่าง (รวมถึง แถวว่างในจุดเริ่มต้น) เนื่องจากเราใช้คุณสมบัติ เลือก ของ ช่วง ก็จะเลือกช่วง B2:G3
อ่านเพิ่มเติม: สิ้นสุดช่วงการใช้ VBA ใน Excel (พร้อมตัวอย่าง)
การอ่านที่คล้ายกัน
- ช่วงการคัดลอก Excel VBA ไปยังชีตอื่น (8 วิธีที่ง่ายที่สุด)
- วนซ้ำช่วงสำหรับแต่ละเซลล์ด้วย Excel VBA (สุดยอด คำแนะนำ)
- Excel Subscript Out of Range Error ใน VBA (พร้อม 5 วิธีแก้ไข)
3. คุณสมบัติ VBA UsedRange สำหรับเวิร์กชีตที่ไม่ได้ใช้งาน
หากเราต้องการใช้คุณสมบัติ UsedRange บนเวิร์กชีตที่ไม่ได้ใช้งาน คุณต้องระบุชื่อเวิร์กชีตในตอนเริ่มต้น
ตัวอย่างเช่น แผ่นงานที่ใช้งานอยู่ของฉันคือ Sheet1 .
หากต้องการใช้คุณสมบัติ UsedRange ใน Sheet2 เราต้องใช้ :
Dim Rng As Range
Set Rng = Worksheets("Sheet2").UsedRange
มัน' จะเลือกเซลล์ที่ใช้ทั้งหมดในแผ่นงานที่ชื่อว่า Sheet2 .
อ่านเพิ่มเติม: VBA เพื่อตั้งค่าช่วงใน Excel (7 ตัวอย่าง)
4.คุณสมบัติ VBA UsedRange สำหรับสมุดงานที่ไม่ใช้งาน
คุณสามารถใช้คุณสมบัติ UsedRange สำหรับสมุดงานที่ไม่ได้ใช้งาน เพียงใส่ชื่อสมุดงานไว้ข้างหน้า
ตัวอย่างเช่น สมุดงานที่ใช้งานอยู่ของฉันคือ สมุดงาน 1 หากต้องการใช้คุณสมบัติ UsedRange บน Sheet1 ของ Workbook2 เราต้องใช้:
Dim Rng As Range
Set Rng = Workbooks("Workbook2.xlsm").Worksheets("Sheet1").UsedRange
จะเลือกช่วงที่ใช้ของแผ่นงาน แผ่นที่ 1 จาก สมุดงาน2 .
อ่านเพิ่มเติม: VBA สำหรับแต่ละเซลล์ในช่วงใน Excel (3 วิธี) <3
สิ่งที่ควรจำ
คุณสมบัติ UsedRange ของ VBA ส่งคืนวัตถุ Range ในบทความนี้ เราได้ใช้คุณสมบัติ เลือก ของ วัตถุช่วง เพื่อประโยชน์ในการแสดงภาพ แต่เห็นได้ชัดว่า คุณสามารถใช้คุณสมบัติอื่นของ ช่วง ตามความสะดวกของคุณ
บทสรุป
เมื่อใช้วิธีการเหล่านี้ คุณสามารถใช้ คุณสมบัติ UsedRange ใน Excel คุณมีคำถามใดๆ? อย่าลังเลที่จะถามเรา