2012-11-18 36 views
1
Date  Time Variable 
2011.01.02 22:22 1258.25 
2011.01.02 22:24 1258.5 
2011.01.02 22:26 1258.25 
2011.01.02 22:27 1258.25 
2011.01.02 22:28 1258.5 
2011.01.02 22:29 1258.5 
2011.01.02 22:31 1258.5 
2011.01.02 22:32 1260.5 
2011.01.02 22:33 1259.75 
2011.01.02 22:34 1259.75 
2011.01.02 22:37 1259.75 
2011.01.02 22:38 1260 
2011.01.02 22:39 1260.25 
2011.01.02 22:40 1260 
2011.01.02 22:43 1259.75 
2011.01.02 22:44 1259.5 
2011.01.02 22:47 1259.75 
2011.01.02 22:48 1260 
2011.01.02 22:52 1259.75 
2011.01.02 23:10 1259.75 
2011.01.02 23:12 1260 
2011.01.02 23:13 1260.25 
2011.01.02 23:14 1260.25 
2011.01.02 23:15 1260.5 
2011.01.02 23:16 1260.5 
2011.01.02 23:17 1260.25 

嗨,查找時間段

我有時間序列數據在Excel中,我想搜索以23開頭的「時間」值:XX(23小時)選擇該單元格。相反,我得到的是VBA選擇有時間「XX:23」(第23分鐘)的任何單元格

假設我在「時間」列上有活動單元格,但我使用此代碼,但它不工作。我究竟做錯了什麼?

Range(ActiveCell, ActiveCell.End(xlDown)).Find("23:", lookat:=xlPart).Select 

的後續問題:

也是另一種快速的問題道格,我想能夠找到與開頭的所有數據點「23:XX」的第23小時,找到的第一個值和最後一個值,突出顯示其中的所有內容,並將其命名爲範圍。

我是通過第一後的細胞在想一個「做」的語句來循環「23:XX」被發現

Do 
    ActiveCell.Offset(1, 0).Select 
Loop Until Left(ActiveCell) = "23:" 

,但它似乎是「左」的功能識別細胞作爲數字,不作爲一個時間格式的細胞?我該怎麼辦?非常感謝!!

回答

2

FIND函數的Lookin參數指定是否查看「公式」 - 您在編輯模式下看到的文本 - 或單元格中顯示的內容。您的FIND函數正在查看公式,因此它會查看單元格中的「11:10 PM」。將其更改爲在值中查找,如下所示:

Range(ActiveCell, ActiveCell..End(xlDown)).Find("23:", lookat:=xlPart,lookin:=xlvalues).Select 
+0

+1 Doug。我正要建議使用'Application.FindFormat.NumberFormat' – brettdj

+0

謝謝戴夫。這是一個有趣的想法。我嘗試過,但無法弄清楚如何使它在Excel中工作,更不用說VBA。公式會是什麼樣子? (通過格式查找是我忘記的那些功能之一) –

+0

我的意思是與'Find'結合,即'Application.FindFormat.NumberFormat =「h:mm」 Set rng1 = ActiveCell.EntireColumn.Find(「11 :「,lookat:= xlPart)'。你的方法好得多。 – brettdj