我如何访问对应于从第 2 行(有一个标题行)开始的整列的范围?
选择的结束应该是列中的最后一个非空单元格。
答案1
请参阅 Microsoft 支持文章如何在 Excel 中使用 Visual Basic 过程选择单元格/区域, #19 (如何选择列中整个连续单元格区域)。
答案2
参考这个答案,唯一安全的方法是该.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
答案3
尝试这个:
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
答案4
这段代码将除标题外的所有内容与单元格“B1”中的标题进行平均
Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))