เลือกทั้งคอลัมน์ลบแถวส่วนหัวในแมโคร Excel


8

ฉันจะเข้าถึงช่วงที่สอดคล้องกับทั้งคอลัมน์เริ่มต้นที่แถว 2 ได้อย่างไร (มีแถวส่วนหัว)

จุดสิ้นสุดของการเลือกควรเป็นเซลล์ที่ไม่ว่างสุดท้ายในคอลัมน์

คำตอบ:


5

ดูบทความสนับสนุนของ Microsoft วิธีการเลือกเซลล์ / ช่วงโดยใช้ขั้นตอน Visual Basic ใน Excel , # 19 ( วิธีการเลือกช่วงทั้งหมดของเซลล์ที่อยู่ติดกันในคอลัมน์ )


ซึ่งเลือกมากกว่าหนึ่งล้านแถวในเวิร์กบุ๊กที่ฉันใช้แม้ว่าทุกอย่างที่เกิน 300 หรือมากกว่านั้นจะว่างเปล่า
เดฟ

วิธีการเกี่ยวกับ: Sub LastCellBeforeBlankInColumn () / Range ("A1"). End (xldown) .Select / End Sub

2

ลองสิ่งนี้:

Range(Range("A2"),Range("A2").End(xldown)).Select

หรือสิ่งนี้:

Range(Range(Cells(2, 1), Cells(2, 1)), Range(Cells(65535, 1), Cells(65535, 1)).End(xlUp)).Select

2

อ้างถึงคำตอบ SO นี้วิธีที่ปลอดภัยเพียงวิธีเดียวคือ.find()วิธีการ
วิธีการอื่นทั้งหมดอาจให้ผลที่ไม่ถูกต้องหากคุณลบบางเซลล์ก่อนหน้านี้

ตัวอย่างเพื่อรับเซลล์สุดท้าย

Lastrow =  Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Lastcol =  Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column

และคำตอบเฉพาะสำหรับคำถามของคุณ (สมมติว่าข้อมูลของคุณอยู่ในคอลัมน์ 2 เริ่มต้นที่แถว 2)

Range([B2], [B:B].Find("*", [B1], , , xlByRows, xlPrevious)).select

ป้อนคำอธิบายรูปภาพที่นี่


1

คุณสามารถใช้แป้นพิมพ์ลัด Excel ลอง+CtrlHome

สิ่งนี้จะนำคุณไปยังเซลล์ A1 (หากคุณไม่ได้ใช้บานหน้าต่างการแช่แข็ง) มาเซลล์ลงหนึ่งแล้วใช้Ctrl+ Shift+ Down arrowปุ่มเพื่อเลือกจนแถวเข้ามาล่าสุด

หากคุณต้องเลือกค่าคอลัมน์ให้ใช้right arrowปุ่มแทนdown arrowปุ่ม


0

โค้ดนี้มีค่าเฉลี่ยทุกอย่างยกเว้นส่วนหัวที่มีส่วนหัวในเซลล์ "B1"

Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.