0

Time 値の列があります。

05:13:32
05:13:32
05:13:32
05:13:32
05:13:33
05:13:33
05:13:34
05:13:34
05:13:35
05:13:35
05:13:36
05:13:36
05:13:36
05:13:37
05:13:37
05:13:38
05:13:38
05:13:39
05:13:39

これらの値は C 列にあります。

ここで、最初のポイントは、最初の値より 2 秒長い次の値を探し始めるポイントです。これは、05:13:34 を見つけることを意味します。

私はこのコードを書きましたが、Find関数 (What:=) が私が宣言した変数を受け入れないため、機能しません。x= Activecell.Value + "00:00:2"

Sub sekundenfinder2()
    Dim sekundo2 As Range
    Dim x as Integer 
    Range("C153").Select  
    ' //// Here is the Point where I begin to go the colomn down and look for the next value 

    Selection.Activate
    Set sekundo2 = Range("C:C").Find(What:="x", After:=ActiveCell)
    sekundo2.Select
End Sub

2 番目の質問:

Activecell.Valueこれは、Excel が値を時刻から数値に変換することを意味しますが、時刻をこの形式「00:00:00」に保ちたいと考えています。形式を時間に変更しようとしましたが、それでも数値に変更されました。

助言がありますか?

4

1 に答える 1

0
  1. を使用しDateAddて時間を追加します
  2. 引用符内で使用するxと、変数のままではなく、文字列に変更されます。
  3. xasDateと not を宣言するInteger

これはあなたがしようとしていることですか?私はデータがそれC1以降のものであり、C1持っていると仮定しています05:13:32

Sub sekundenfinder2()
    Dim sekundo2 As Range
    Dim x As Date

    x = DateAdd("s", 2, Range("C1").Value)

    Set sekundo2 = Range("C:C").Find(What:=x)

    If Not sekundo2 Is Nothing Then sekundo2.Select
End Sub

ここに画像の説明を入力

于 2013-04-24T21:37:56.057 に答える