2011-07-28 4 views
0

나는 다음과 같이 For Each 루프를 사용하여 통합 문서의 모든 시트 이름에 특정 문자열을 검색하려고 :시트 이름에서 문자열을 검색하는 방법은 무엇입니까?

For Each Sheet In ActiveWorkbook.Sheets 
    Name = ActiveSheet.Name 
    Next Sheet 

을하지만 붙어 도착으로 나는 위의 코드를 사용하여 모든 시트 이름을 얻을 수 없습니다입니다 단 하나의 시트 이름.

시트 이름을 얻은 후 특정 문자열을 시트 이름으로 검색하십시오. 모든 시트에서 문자열을 검색하는 데 도움이 될 수 있다면 좋을 것입니다.

+0

어떻게 검색 결과를 나열 하시겠습니까? –

답변

3
For Each sheet In ActiveWorkbook.Sheets 
    If sheet.Name Like "*" & strSearch & "*" Then 
     Debug.Print "Found! " & sheet.Name 
    End If 
Next 

당신은 모든 시트를 반복,하지만 당신은 항상 당신의 루프에서 ActiveSheet.Name를 사용합니다. 패턴을 검색하려면 * 와일드 카드와 함께 Like을 사용할 수 있습니다.

2

당신은뿐만 아니라 InStr 기능을 사용할 수 있습니다 ... 아니면 I didn 히 귀하의 질문에 올바르게 대답하지 마십시오.

Sub CheckSheets()   
    Dim oSheet As Excel.Worksheet 
      For Each oSheet In ActiveWorkbook.Sheets   
     If InStr(UCase(oSheet.Name), UCase("Sheet")) Then     
      Debug.Print oSheet.Name     
     End If    
    Next oSheet   
End Sub 
+0

이 답변은 바로 우리가 졸업하기 위해 필요한 것입니다. 고맙습니다. –

관련 문제