สารบัญ
ใน VBA คุณสามารถใช้วิธีต่างๆ เพื่อค้นหาแถวสุดท้าย ในบทความนี้ ฉันจะอธิบายวิธีการต่างๆ ของ VBA ค้นหาแถวสุดท้ายใน Excel
เพื่อให้คำอธิบายนี้มองเห็นได้ ฉันจะใช้ชุดข้อมูลตัวอย่าง มี 4 คอลัมน์ในชุดข้อมูลที่แสดงถึงข้อมูลการขาย คอลัมน์เหล่านี้ได้แก่ พนักงานขาย ภูมิภาค ผลิตภัณฑ์ และ ราคา
ดาวน์โหลดเพื่อฝึกฝน
VBA Find Last Row.xlsm
วิธีใน VBA Find Last Row ใน Excel
1. การใช้เซลล์พิเศษ เพื่อค้นหาแถวสุดท้าย
คุณสามารถใช้เมธอด SpecialCells เพื่อค้นหาแถวสุดท้ายโดยใช้ VBA
ก่อนอื่น ให้เปิด นักพัฒนาซอฟต์แวร์ แท็บ >> จากนั้นเลือก Visual Basic
หน้าต่างใหม่ของ Microsoft Visual Basic for Applications จะปรากฏขึ้น
จาก แทรก >> เลือก โมดูล
A โมดูล จะเปิดขึ้น
จากนั้นเขียนโค้ดต่อไปนี้ในช่อง โมดูล .
7269
ที่นี่ ฉันได้สร้างโพรซีเดอร์ย่อยชื่อ LastRow_SpecialCells โดยที่ประเภท Long ของตัวแปร LastRow ได้รับการประกาศแล้ว
จากนั้นกำหนดตัวแปรโดยใช้เมธอด Range.SpecialCells ที่นี่ ฉันใช้คอลัมน์ A ( A:A ) เป็นช่วง ให้ xlCellTypeLastCell เป็นพารามิเตอร์ประเภท SpecialCells ซึ่งจะส่งคืนเซลล์สุดท้ายของช่วง (สำหรับกรณีนี้ จากคอลัมน์ A ).
ฉันใช้กล่องข้อความเพื่อแสดงผล
หลังจากนั้น บันทึก รหัสและกลับไปที่ แผ่นงาน
อีกครั้ง เปิดแท็บ ดู >> จาก มาโคร >> เลือก ดูมาโคร
จากนั้น กล่องโต้ตอบ จะปรากฏขึ้น
ตอนนี้ จาก ชื่อมาโคร เลือก LastRow_SpecialCells และเลือกสมุดงานภายใน มาโครใน ด้วย
สุดท้าย เรียกใช้ เลือก มาโคร
ดังนั้น กล่องข้อความจะแสดงหมายเลขแถวสุดท้ายปรากฏขึ้น
2. การใช้ Rows.Count สำหรับเซลล์ที่ไม่ว่าง
คุณสามารถใช้เมธอด Rows.Count เพื่อค้นหาแถวสุดท้ายโดยใช้ VBA .
ตอนนี้ เปิดแท็บ นักพัฒนาซอฟต์แวร์ >> จากนั้นเลือก Visual Basic
หน้าต่างใหม่ของ Microsoft Visual Basic for Applications จะปรากฏขึ้น
จาก แทรก >> เลือก Module
A Module จะเปิดขึ้น
จากนั้นเขียนโค้ดต่อไปนี้ในช่อง โมดูล .
5118
ที่นี่ ฉันได้สร้างโพรซีเดอร์ย่อยชื่อ LastRow_NonEmpty โดยที่ตัวแปรประเภท Long LastRow ได้รับการประกาศแล้ว
ตอนนี้ CELLS(Rows.Count, 1) จะนับว่ามีกี่แถวในคอลัมน์แรก จากนั้นใช้ End(xlUp).Row ตอนนี้จะพบแถวที่ใช้ล่าสุดในช่วงของ Excel
ในตอนท้าย ฉันใช้กล่องข้อความเพื่อแสดงผลลัพธ์
จากนั้น บันทึก รหัสและกลับไปที่แผ่นงาน
ที่นี่ เปิดแท็บ ดู >> จาก มาโคร >> เลือก ดูมาโคร
ตอนนี้ กล่องโต้ตอบ จะปรากฏขึ้น
จากนั้น จาก ชื่อมาโคร เลือก LastRow_NonEmpty และเลือกสมุดงานภายใน มาโครใน ด้วย
สุดท้าย เรียกใช้ เลือก มาโคร
ดังนั้น กล่องข้อความจะแสดงหมายเลขแถวสุดท้ายปรากฏขึ้น
3. การใช้ Rows.Count สำหรับคอลัมน์ที่เลือก
โดยใช้คอลัมน์ที่เลือกใน VBA คุณจะพบแถวสุดท้าย
อันดับแรก ให้เปิดแท็บ นักพัฒนาซอฟต์แวร์ >> จากนั้นเลือก Visual Basic
หน้าต่างใหม่ของ Microsoft Visual Basic for Applications จะปรากฏขึ้น
จาก แทรก >> เลือก Module
A Module จะเปิดขึ้น
จากนั้นเขียนโค้ดต่อไปนี้ในช่อง โมดูล .
1824
ที่นี่ ฉันได้สร้างโพรซีเดอร์ย่อยชื่อ LastRow_AnyColumn โดยที่ตัวแปรประเภท Long LastRow ได้รับการประกาศแล้ว
จากนั้นใน ช่วง กำหนดคอลัมน์ B เป็นพารามิเตอร์และ Rows.Count สิ่งนี้ จะนับว่ามีกี่แถวในคอลัมน์ที่กำหนด B ถัดไป ใช้ End(xlup) แถว ซึ่งจะพบแถวที่ใช้ล่าสุดในช่วงของ Excel
สุดท้าย ฉันใช้กล่องข้อความเพื่อแสดงผลลัพธ์
ถัดไป บันทึก รหัสและกลับไปที่แผ่นงาน
จากนั้น เปิดแท็บ ดู >> จาก มาโคร >> เลือก ดูมาโคร
ที่นี่ กล่องโต้ตอบ จะปรากฏขึ้น
ตอนนี้ จาก ชื่อมาโคร เลือก LastRow_AnyColumn เลือกสมุดงานภายใน มาโครใน ด้วย
สุดท้าย เรียกใช้ เลือก มาโคร
ดังนั้น กล่องข้อความจะแสดงหมายเลขแถวสุดท้ายปรากฏขึ้น
การอ่านที่คล้ายกัน:
- ค้นหา VBA ในคอลัมน์ใน Excel (7 แนวทาง)
- ค้นหาและแทนที่โดยใช้ VBA (11 วิธี)
- ค้นหาการจับคู่แบบตรงทั้งหมดโดยใช้ VBA ใน Excel (5 วิธี)
- วิธีค้นหาสตริงด้วย VBA ใน Excel (8 ตัวอย่าง)
4. การใช้ UsedRange เพื่อค้นหาแถวสุดท้าย
คุณสามารถใช้คุณสมบัติ UsedRange ของแผ่นงานเพื่อค้นหาสุดท้าย แถวโดยใช้ VBA .
ตอนนี้ เปิดแท็บ นักพัฒนาซอฟต์แวร์ >> จากนั้นเลือก Visual Basic
จากนั้น หน้าต่างใหม่ของ Microsoft Visual Basic for Applications จะปรากฏขึ้น
ตอนนี้ จาก แทรก >> เลือก โมดูล
A โมดูล จะเปิดขึ้น
จากนั้น เขียนโค้ดต่อไปนี้ในช่อง โมดูล .
5908
ที่นี่ ฉันได้สร้างโพรซีเดอร์ย่อยชื่อ LastRow_UsedRange โดยที่ตัวแปรประเภท Long ประกาศ LastRow แล้ว
ถัดไป กำหนดตัวแปรที่ใช้เมธอด ActiveSheet.UsedRange.Rows ยังระบุ ActiveSheet.UsedRange.Rows.Count เป็นพารามิเตอร์ของ ActiveSheet.UsedRange.Rows ซึ่งจะส่งกลับค่า แถวสุดท้าย
ฉันใช้กล่องข้อความเพื่อแสดงผล
ตอนนี้ บันทึก รหัสและกลับไปที่แผ่นงาน
จากนั้น เปิดแท็บ ดู >> จาก มาโคร >> เลือก ดูมาโคร
ถัดไป กล่องโต้ตอบ จะปรากฏขึ้น
จากนั้น จาก มาโคร ชื่อ เลือก LastRow_UsedRange เลือกสมุดงานภายใน มาโครใน ด้วย
สุดท้าย เรียกใช้ เลือก มาโคร .
ดังนั้นจะมีกล่องข้อความปรากฏขึ้นแสดงหมายเลขแถวสุดท้าย
5. การใช้ Range.Find เพื่อหารายการสุดท้าย แถว
คุณสามารถใช้เมธอด Range.Find เพื่อค้นหาแถวสุดท้ายโดยใช้ VBA
ตอนนี้ เปิด นักพัฒนาซอฟต์แวร์ แท็บ >> จากนั้นเลือก Visual Basic
ที่นี่ หน้าต่างใหม่ของ Microsoft Visual Basic for Applications จะปรากฏขึ้น
ตอนนี้ จาก แทรก >> เลือก Module
A Module จะเปิดขึ้น
จากนั้นเขียนโค้ดต่อไปนี้ใน Module
9293
ที่นี่ ฉันได้สร้างโพรซีเดอร์ย่อยชื่อ Range_Find_Method ซึ่งมีการประกาศตัวแปรประเภท Long LastRow .
จากนั้นกำหนดตัวแปรโดยใช้เมธอด Cells.Find ที่นี่ประกาศ 7พารามิเตอร์ ใน พารามิเตอร์ ใดที่ฉันใช้ (“*”) ซึ่งจะพบเซลล์แรกที่ไม่ว่าง กำหนด A1 เป็นช่วงในพารามิเตอร์ หลัง เพื่อเริ่มต้น ในพารามิเตอร์ LookAt ให้ xlPart เพื่อดูส่วนใดๆ ของข้อความภายในเซลล์ พารามิเตอร์
LookIn:=xlFormulas จะค้นหา สูตรถ้ามี SearchOrder:=xlByRows พารามิเตอร์จะเลื่อนจากขวาไปซ้ายและวนซ้ำในแต่ละแถวจนกว่าจะพบเซลล์ที่ไม่ว่าง
MatchCase:=False พารามิเตอร์จะบอก ค้นหา ว่าไม่ต้องพิจารณาตัวอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก เมื่อพบช่องว่าง มันจะหยุดและส่งกลับหมายเลขแถว
ฉันใช้กล่องข้อความเพื่อแสดงผลลัพธ์
ตอนนี้ บันทึก รหัส และกลับไปที่แผ่นงาน
ที่นี่ เปิดแท็บ ดู >> จาก มาโคร >> เลือก ดูมาโคร
ตอนนี้ กล่องโต้ตอบ จะปรากฏขึ้น
ตอนนี้ จาก ชื่อมาโคร เลือก Range_Find_Method เลือกแผ่นงานภายใน มาโครใน ด้วย
สุดท้าย เรียกใช้ เลือก มาโคร
ดังนั้น กล่องข้อความจะแสดงหมายเลขแถวสุดท้ายปรากฏขึ้น
สรุป
ในบทความนี้ ฉันได้อธิบาย 5 วิธีในการ VBA ค้นหาแถวสุดท้ายใน Excel คุณสามารถทำตามวิธีใดก็ได้เพื่อค้นหาแถวสุดท้าย ในกรณีที่คุณเกิดความสับสนหรือคำถามเกี่ยวกับวิธีการเหล่านี้ คุณอาจแสดงความคิดเห็นด้านล่าง