2017-11-18 4 views
-4

「FindNng Not Nothing Then」というコードを追加したいのですが、どうすればいいですか?ここでは、何かを見つけたときにのみ動作するコードがあります。 Findを使用するVBA Find - 別のシートから値を見つけるためにマクロを作成したい

Sub ORDER() 

    Dim wordToSearch As String 
    Dim rowToDelete As Integer 

Sheets("Dashboard").Select 
RowCount = Cells(Cells.Rows.Count, "W").End(xlUp).Row 
For i = 1 To RowCount 

Range("W" & i).Select 
check_value = ActiveCell 
If check_value = "Y" Or check_value = "y" Then 



    Sheets("Dashboard").Select 
    wordToSearch = Sheets("Dashboard").Range("L" & i).Value 

    Sheets("Order").Select 
    Cells.Find(What:=wordToSearch, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ 
     xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ 
     , SearchFormat:=False).Activate 
    rowToDelete = ActiveCell.Row 
    Rows(rowToDelete & ":" & rowToDelete).Select 
    Application.CutCopyMode = False 
    Selection.Delete Shift:=xlUp 

    Sheets("Dashboard").Select 
    End If 
    Next 

End Sub 
+0

ようこそ!私はあなたがVBAで始まっているのを見ています。数多くのチュートリアルやその他のリソースがあるため、特にGoogle検索の唯一の理由から、これは初心者の偉大な学習者です。スタックオーバーフローはどこにも見つからない質問と回答の質問を見つけるのに最適な場所です。本当にクラッシュコースを見つけるのに良い場所ではありません。いくつかの異なるコマンドが混在しているのを見ています(あなたの質問はフォーマットされていないのでトラブルシューティングが難しいです)。ツアーをチェックしてください(https://stackoverflow.com/tour)。ここに大きなヒント:[質問] – ashleedawg

+1

あなたの特定の質問は何ですか? –

答えて

0

より良い(より安全な)方法はSet a RangeからFindの結果であり、そして場合にFindが試合を「見つける」ために失敗した場合、結果はRange = Nothingになり、あなたが試すことができますIf Not FindRng Is Nothing Thenを使用してこのタイプのエラーをトラップします。スタックExchangeへ

コード

Sub Macro() 

Dim FindRng As Range 

With Sheets("order") 
    Set FindRng = .Cells.Find(What:=Sheets("Dashboard").Cells(2, 4), After:=ActiveCell, LookIn:=xlFormulas, _ 
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext) 

    If Not FindRng Is Nothing Then ' find was successful 
     FindRng.EntireRow.Delete 
    Else ' Find failed to find a match 
     MsgBox "Unable to find " & Sheets("Dashboard").Cells(2, 4), vbCritical 
    End If 
End With 

End Sub 
+0

FindRngの問題は何も起こっていません。 –

+0

@AntoninoConforto何が問題なのですか?この行で実行時エラーが発生していますか? litleを指定できますか? –

+0

私のコードをもう一度見てもらえますか?私は自分の投稿を編集しましたが、今では "FindRng is Nothing then ..."という行を追加する必要があることを知りたいと思います –

関連する問題