发布网友 发布时间:2022-03-27 15:38
共2个回答
热心网友 时间:2022-03-27 17:07
这是因为第一行空着的时xr参数少了一行,数据错位引起,可以用定位最后行.SpecialCells(xlCellTypeLastCell).Row
或End(xlDown).row解决
热心网友 时间:2022-03-27 18:25
其实用End语句可能更好一些!!
xc = Sheets(m).Cells(2,"IV").End(xltoLeft).Column注意,这里的IV2单元格,你需要根据你的实际数据情况进行选择。如果你的表格结构是固定的,第二行可以代表最大列数行,那么就以IV2为定位单元格,如果第三行代表最大列数,就用IV3单元格。
xr = Sheets(m).Cells(65536,"A").End(3).Row同理,如果A列代表最大行数列,则用A列,如果B列代表最大数据列,则用Cells(65536,"B")
关键看你的表格结构。如果你的表格结构是在是
飘忽不定
,那么可以尝试使用下面的方法:
With xc = ActiveWorkbook.Sheets(m).UsedRange
xc = .Column - 1 + .Columns.count '最后列列标数值
xr = .Row - 1 + .Rows.count '最后行的行标
End With