2016-10-13 13 views
0

"情報"シートの範囲内でアクティブなシートに指定された値を見つけるマクロを作成できません。指定された範囲内の指定されたセルの値を見つけて選択するには

Sub testrot() 
    Dim i As String 
    Dim srchrng As Range 

    Sheets(ActiveSheet.Name).Select 
    i = Cells(2, 5) 
    Sheets("Information").Select 
    Set srchrng = Range("j8:j17").Find(what = i) 
    If Not srchrng Is Nothing Then 
     MsgBox "Not Found" 
    End If 
End Sub 

をセル(2,5)私の中で:セルの値が私たちの範囲内に見つからない場合、それは私に「値が見つかりません」私は、次のを持っているが、それは動作していないというメッセージボックスを与えるだろうアクティブなシートは、例えば#16であり、範囲(j8:j17)では異なる文字列#16、#17などのリストである。

私は何かアドバイスをいただきありがとうございます。

ありがとうございました。

答えて

0

あなたも.Select/.Activate

Sub testRot2() 
Dim str As String 
Dim srchRng As Range 
With Worksheets(ActiveSheet.Name) 
    str = .Cells(2, 5).Value 
    Set srchRng = .Range("J8:J17").Find(what:=str) 
    If srchRng Is Nothing Then 
     MsgBox "Not found" 
    End If 
End With 
End Sub 

を避けたいが、私はstriを変更することに注意してください。これは個人的な選択です。通常、ループの場合はiLong/Integerと表示されています。あなたはそれを維持することができますi、ちょうどそれを言及すると思った。また、Find(what:=str)に必要なコロンに注意してください。

+0

'Worksheets(ActiveSheet.Name)'は 'ActiveSheet'と同じです –

+0

@BruceWayneこれはMsgBoxを取得した時点で動作しますが、セルを選択するための怒りが見つかった「情報」タブは参照しませんstr値の範囲。私のシート1タブの値は#16のセル(2,5)で、範囲内の「情報タブ」で選択したいと思います。 'Sheets(" Information ")を設定しようとしましたが、設定されたコードの前で選択しますが、認識できません。何か提案はありますか? – deejaay

関連する問題