ในบทความนี้ คุณจะได้เรียนรู้วิธีใช้ช่วง เพื่อทำงานต่างๆ ใน Excel ตามหมายเลขคอลัมน์ด้วย VBA .
ดาวน์โหลดสมุดงาน
คุณสามารถดาวน์โหลดเวิร์กบุ๊ก Excel แบบฝึกหัดฟรีได้จากที่นี่
ออบเจ็กต์ช่วง VBA
วัตถุช่วงใน VBA สามารถประกอบด้วยเซลล์เดียว หลายเซลล์ แถว คอลัมน์ภายในเวิร์กชีต Excel
ลำดับชั้นของ ช่วง วัตถุมีดังต่อไปนี้
แอปพลิเคชัน> สมุดงาน> แผ่นงาน> ช่วง
นี่คือวิธีที่คุณควรประกาศ ช่วง วัตถุใน VBA .
4 วิธีในการฝัง VBA เพื่อใช้ช่วงตามหมายเลขคอลัมน์ใน Excel
ส่วนนี้จะกล่าวถึงวิธีการเลือกช่วงตามหมายเลขคอลัมน์ วิธี ตั้งค่าในช่วงตามหมายเลขคอลัมน์ และวิธีส่งคืนหมายเลขคอลัมน์สุดท้ายของช่วง ใน Excel โดยใช้ มาโคร VBA .
1. VBA เพื่อเลือกช่วงตามหมายเลขคอลัมน์ใน Excel
หากคุณต้องการ เลือกช่วงตามหมายเลขคอลัมน์ ใน Excel จากชุดข้อมูลที่คลุมเครือดังที่แสดงด้านล่าง คุณควรอ่านบทความนี้ต่อไปเพื่อรับวิธีแก้ปัญหา
ขั้นตอนในการเลือกช่วง จากชุดข้อมูลที่แสดงด้านบนโดยใช้หมายเลขคอลัมน์ อธิบายไว้ด้านล่าง
ขั้นตอน:
- กด Alt + F11 บนแป้นพิมพ์ของคุณหรือไปที่แท็บ นักพัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู ให้คลิก แทรก -> โมดูล .
- คัดลอกโค้ดต่อไปนี้แล้ววางลงในหน้าต่างโค้ด
Sub SetRange()
Range(Cells(2, 3), Cells(10, 5)).Select
End Sub
ที่นี่
- เซลล์(2,3) =แถวที่ 2 คอลัมน์ที่ 3 (เซลล์ C2 )
- เซลล์(10,5) =แถวที่ 10 คอลัมน์ที่ 5 (เซลล์ E10 )
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- กด F5 บนแป้นพิมพ์หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอน Play ขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
เซลล์ ช่วง จาก C2 ถึง E10 จะถูกเลือก (ดูภาพด้านล่าง) ตาม หมายเลขคอลัมน์ ที่เราจัดให้
อ่านเพิ่มเติม: ช่วง VBA พร้อมตัวเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)
2. VBA เพื่อตั้งค่าในช่วงตามหมายเลขคอลัมน์ใน Excel
คุณได้เรียนรู้วิธีเลือกช่วงตามหมายเลขคอลัมน์ในส่วนก่อนหน้าแล้ว ในส่วนนี้ คุณจะทราบวิธีตั้งค่าในช่วงตามหมายเลขคอลัมน์ .
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub SetValue()
Range(Cells(2, 2), Cells(8, 4)).Value2 = "Hello!"
End Sub
ที่นี่
- เซลล์(2,2) =แถวที่ 2 คอลัมน์ที่ 2 (เซลล์ B2 )
- เซลล์(8,4) =แถวที่ 8 คอลัมน์ที่ 4 (เซลล์ D8 )
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโครและทุกเซลล์จาก B2 ถึง D8 ตอนนี้ถือค่า “สวัสดี! ”
อ่านเพิ่มเติม: Excel VBA:ตั้งค่าช่วงตามแถวและหมายเลขคอลัมน์ (3 ตัวอย่าง)
การอ่านที่คล้ายกัน
- Excel VBA:รับหมายเลขแถวและคอลัมน์จากที่อยู่ของเซลล์ (4 วิธี)
- วิธีอ้างอิงเซลล์ตามแถวและหมายเลขคอลัมน์ใน Excel (4 วิธี)
- VBA สำหรับแต่ละเซลล์ในช่วงใน Excel (3 วิธี)
- วิธีการแปลงหมายเลขคอลัมน์เป็นตัวอักษรใน Excel (3 วิธี)
- VBA เพื่อตั้งค่าช่วงใน Excel (7 ตัวอย่าง)
3. VBA เพื่อเลือกช่วงจากแผ่นงานต่าง ๆ ตามหมายเลขคอลัมน์ใน Excel
ที่นี่ คุณจะได้เรียนรู้วิธีเลือกช่วงตามหมายเลขคอลัมน์จากเวิร์กชีตอื่น ใน Excel
ขั้นตอนการดำเนินการดังแสดงด้านล่าง
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub FixedRange()
Dim iRng As Range
Dim iSheet As Worksheet
Set iSheet = Worksheets("Range") 'select the worksheet name"
With iSheet
.Cells(1, 7).Select 'selects cell G7 on worksheet
Set iRng = .Range(.Cells(3, 3), .Cells(7, 6))
End With
iRng.Select 'selects range of cells C3:F7 on worksheet
End Sub
ที่นี่
- เซลล์(3,3) =แถวที่ 3 คอลัมน์ที่ 3 (เซลล์ C3 )
- เซลล์(7,6) =แถวที่ 7 คอลัมน์ที่ 6 (เซลล์ F7 )
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง รหัสและทุกเซลล์จาก C3 ถึง F7 จากชื่อแผ่นงาน “ช่วง ” จะถูกเลือก (ดูภาพด้านล่าง) ตาม หมายเลขคอลัมน์ ที่เราจัดให้
อ่านเพิ่มเติม: VBA เพื่อแปลงหมายเลขคอลัมน์เป็นตัวอักษรใน Excel (3 วิธี)
4. VBA เพื่อส่งคืนหมายเลขคอลัมน์สุดท้ายในช่วงใน Excel
ในส่วนนี้ เราจะเรียนรู้เกี่ยวกับ VBA รหัสเกี่ยวกับวิธีการรับหมายเลขคอลัมน์สุดท้ายในช่วงที่ใช้งาน ใน Excel
พิจารณาชุดข้อมูลต่อไปนี้ที่มีข้อมูลจาก เซลล์ A1 ถึง D10 . เราจะแยก หมายเลขคอลัมน์สุดท้าย จากช่วงใน กลับ กล่อง เซลล์ F5 .
ขั้นตอนในการทำมีดังนี้
ขั้นตอน:
- เหมือนเมื่อก่อน เปิด Visual Basic Editor จาก นักพัฒนา แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
Sub ReturnLastColumnInRange()
'declare variables
Dim iSheet As Worksheet
Dim iRng As Range
Set iWS = Worksheets("Return") 'select the worksheet
Set iRng = iWS.Range("A1:D10") 'set the range
'return the last column number in a cell
iWS.Range("F5") = iRng.Column + iRng.Columns.Count - 1
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
- วิ่ง มาโครและคุณจะได้หมายเลขคอลัมน์สุดท้าย 4 ใน เซลล์ F5
อ่านเพิ่มเติม: วิธีคืนค่าจำนวนคอลัมน์ที่ตรงกันใน Excel (5 วิธีที่เป็นประโยชน์)
ข้อดีของ VBA Set Range
- ใช้งานง่ายมาก
- อาร์กิวเมนต์ภายใน ช่วง วัตถุไม่ได้รับการแก้ไข เพื่อให้เราสามารถปรับเปลี่ยนค่าของอาร์กิวเมนต์ตามความต้องการของเราได้
- สามารถส่งผ่านค่าได้มากกว่า 1 ค่าเป็นอาร์กิวเมนต์
สิ่งที่ควรจำ
- เซลล์ คุณสมบัติใน VBA ยังสามารถใช้เพื่อตั้งค่า ช่วง ใน VBA .
- ตัวแปรอ็อบเจ็กต์ควรตั้งค่าเป็นข้อมูลอ้างอิงของอ็อบเจ็กต์โดย SET คีย์เวิร์ด
บทสรุป
บทความนี้แสดงวิธีใช้ช่วง เพื่อทำงานต่างๆ ใน Excel ตามหมายเลขคอลัมน์ด้วย VBA ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับคุณมาก อย่าลังเลที่จะถามคำถามใด ๆ เกี่ยวกับหัวข้อนี้
บทความที่เกี่ยวข้อง
- วิธีการเลือกช่วงตามค่าของเซลล์ VBA (7 วิธี)
- คัดลอกช่วง Excel VBA ไปยังชีตอื่น (8 วิธีที่ง่ายที่สุด)
- Excel Subscript Out of Range Error ใน VBA (พร้อม 5 โซลูชัน)
- [แก้ไขแล้ว!] คอลัมน์ Excel มีป้ายกำกับด้วยตัวเลขไม่ใช่ตัวอักษร
- วิธีการแปลงตัวอักษรของคอลัมน์เป็นแผนภูมิตัวเลขใน Excel (4 วิธี)