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

フォローアップの質問:

また、もう1つの簡単な質問です。ダグ、23時間目の「23:XX」で始まるすべてのデータポイントを見つけ、最初の値と最後の値を見つけ、その間のすべてを強調表示して、範囲として名前を付けたいと思います。

最初の「23:XX」が見つかった後、セルを循環する「Do」ステートメントを考えていました

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

しかし、「左」関数はセルを時間形式のセルではなく数値として認識するようです。私は何をすべきか?どうもありがとう!!

4

1 に答える 1

2

関数のLookin引数はFIND、「数式」(編集モードで表示されるテキスト)をValue表示するか、セルに表示される内容を表示するかを指定します。関数FINDは数式を調べているので、セル内に「午後11時10分」が表示されます。次のように、値を確認するように変更します。

Range(ActiveCell, ActiveCell..End(xlDown)).Find("23:", lookat:=xlPart,lookin:=xlvalues).Select
于 2012-11-18T01:37:42.467 に答える