1

問題: ワークブックのセル コンテンツの横または下にあるセルの値を検索したいと考えています。

例: Sheet2 では、2 つのセルがランダムに並んでいます (インデックスが不明で、total が定義された名前ではないと仮定します)。

ここに画像の説明を入力

合計の横にある値「200」を検索して、シート2(アクティブセル)に入れたいと思います。場合によっては、「合計」という単語を含むセルが複数あり、それらすべてをリストし、可能であれば、探しているセルを含むシートの名前を入力してください。値 200 シート 2

ここに画像の説明を入力

私のアプローチ: 1. ユーザー入力

ここに画像の説明を入力

  1. 各セルに移動して検索します。Excelでセルの制限全体を検索すると、これには時間がかかります。したがって、検索は 100 列 x 10000 行に制限されます。

  2. インデックスを見つけた後、1列にオフセットして値を取得します

  3. 結果 ActiveCell.Value = Search_Value を書き込みます。次に、残りのシートの検索を続けます。2番目の値を書き込むために1列と1行をオフセットします...

検索は非常に難しい概念であり、検索部分の実行方法がまったくわかりません。助けてください

4

1 に答える 1

3
With Worksheets(1).Range("a1:a500")
    counter=0
    Set c = .Find("Total", lookin:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            counter=counter+1
            Worksheets(2).range("A1").offset(counter,0)=c.offset(0,1)
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

firstaddressは、見つかった最初のセルの位置を保持します (これにより、いつ停止するかがわかります)。firstaddress.offset(0,1)は保存しようとしている値を提供するため、worksheet(2).range("a1").offset(counter,0)を設定すると、2番目のタブで見つかったすべての値がリストされます、a1から範囲内で見つかった数まで

于 2012-05-03T20:33:58.197 に答える