2012-10-01 90 views
1

我與Excel宏工作行的長度,Excel宏找到

我曾經碰到過命令ActiveCell.End(xlDown).Select去表中的最後一行

我目前使用這個命令來查找行號總數

ActiveCell.End(xlDown).Select 

y = ActiveCell.Row 

但問題是大數據命令跳過數據,其中下一行數據發生變化。

什麼可能是可能的問題?

(你可以看到表1069 & 1070的數據類型是日期這是在相同的格式,但該代碼跳過出不確定[注意:當在第二列中的變化])

. 
. 
. 
1068 > 20-08-2012 C0 138225 98.91608138 99.25925926 
1069 > 20-08-2012 C0 138226 99.71159982 98.95776825 
1070 > 21-08-2012 __ 506821  65335U11  0  
1071 > 21-08-2012 C0 100381  0    0 
. 
. 
.
+3

我不知道我理解你的問題。您正在搜索的列中是否有空白行?如果是這樣,你可以做相反的事情,從最後一行開始,使用'ActiveSheet.Range(「A」&ActiveSheet.Rows.Count).End(xlUp).Row' – ApplePie

+1

看到這個http:// stackoverflow。 com/questions/11169445/error-finding-last-used-cell-in-vba –

+0

也許您的工作表的屏幕截圖有助於理解您的確切問題。 – ApplePie

回答

0

我正在脫掉評論,但你應該始終使用xlUp而不是xlDown,以避免空白問題。

請選擇目標列的單元格,並運行以下命令:

Sub findTherow() 
Dim y As Integer 
With Excel.ActiveSheet 
      y = .Cells(.Rows.Count, ActiveCell.Column).End(Excel.xlUp).Row 
End With 
MsgBox ("Look what I found:" & y) 
End Sub