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