2017-12-07 3 views
1
Dim j As Double 
For j = 1 To Worksheets.Count 
     If Sheets(j).Range("E4").Value Like "Filters" Then 
      ActiveSheet.Copy before:=Worksheets(1) 
       ActiveSheet.Name = "data" 
     End If 
Next j 

これは私のコードです...私はコードワークシートを実行すると "データ"として作成されますが、ループを終了していない...それは "データ "ワークシートとデバッグを取得しています。私は非常に小さなものを紛失しています。私はそれが何であるかわかりません。誰でも助けることができます。マクロブック内のすべてのシートをループし、セルに一定の値があるかどうかをテストします。場合は、シートをコピーしてループを終了

答えて

0

シートがコピーされたらループを止めることが問題ならば、これに:

Dim j As Double 
For j = 1 To Worksheets.Count 
     If Sheets(j).Range("E4").Value Like "Filters" Then 
      ActiveSheet.Copy before:=Worksheets(1) 
       ActiveSheet.Name = "data" 
       Exit For 'Or could be Exit Sub? 
     End If 
Next j 
+0

ありがとうXabier ..それは働いた –

+0

@KesavanAnnamalaiはあなたの答えをあなたに教えてくれましたか?ありがとう。 – Xabier

0

考えてみましょう:

Sub poiuyt() 
Dim j As Long 
For j = 1 To Worksheets.Count 
    With Sheets(j) 
     If .Range("E4").Value Like "Filters" Then 
      .Copy before:=Worksheets(1) 
      .Name = "data" 
      Exit Sub 
     End If 
    End With 
Next j 
End Sub 
+0

ありがとう –

関連する問題