我正在使用macros处理excel工作表。
我想计算一下工作表中使用的列数。我使用:
ColLen = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Column
,并且它给出的值比使用的列数大1。在其他普通的excel工作簿上,它给出了正确的值。
另一个命令是给出正确的列数值,即:
ColLen = Activeworksheet.Cells(1, Columns.count).End(xlToLeft).Column
它的另一部分,即使用的行数在所有工作表中都给出了正确的值。
RowLen = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.count).Row
有没有线索知道那张纸可能出了什么问题?我不能解释我的公司告诉它的细节。因此,它可能很难回答,因为它可能是不合逻辑的。如果你有任何想法,请告诉我。
发布于 2014-01-30 19:59:46
要获取列,最可靠的代码是:(它在所有情况下都有效)
Set rng = ws.Cells.Find(What:="*", _
After:=ws.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
If rng Is Nothing Then
LastCol = 1
Else
LastCol = rng.Column
End If`
https://stackoverflow.com/questions/21455218
复制相似问题