vbaSub 定位最后一行最后一列()' 定义工作表,避免跨表出错Dim ws As WorksheetSet ws = Sheets("Sheet1")' 1. 定位A列最后一行有数据的单元格(常用场景:给最后一行赋值、加合计)Dim lastRow As Long ' 存储最后一行的行号(用Long避免行数过多溢出)Dim lastRowRng As Range' 用Rows.Count获取Excel最大行数(无需记1048576),5代表E列,此处改为1代表A列(A列对应列号1)lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row' 根据行号定位到A列最后一行单元格Set lastRowRng = ws.Cells(lastRow, 1)' 给最后一行单元格赋值(示例:标注“合计”),并设置加粗With lastRowRng.Value = "合计".Font.Bold = True.Font.Color = RGB(0, 128, 0) ' 绿色字体End With' 2. 定位最后一列有数据的单元格(常用场景:确认数据范围、批量设置格式)Dim lastCol As Long ' 存储最后一列的列号Dim lastColRng As Range' 用Columns.Count获取Excel最大列数(无需记XFD1),1代表第1行lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column' 根据列号定位到第1行最后一列单元格Set lastColRng = ws.Cells(1, lastCol)' 给最后一列单元格标黄(示例:突出显示最后一列数据)lastColRng.Interior.Color = RGB(255, 255, 0)' 弹出提示,显示最后一行、最后一列的位置(方便核对)MsgBox "A列最后一行位置:" & lastRowRng.Address & vbCrLf & "最后一列位置:" & lastColRng.AddressEnd Sub |