2012-08-16 5 views
0

나는이 사이트에서 제안을 시도했지만 아무 것도 작동하지 않는 것 같습니다.계속 Excel에서 오류 91 찾기 기능 찾기

셀 C6 : Z6에서 2012 년 1 월 1 일부터 2012 년 1 월 12 일까지 날짜가 있습니다 (영국 날짜 형식).

항상
Sub FindDate() 

    Range("C6:Z6").Select 

    Selection.Find(What:="01/08/2012", After:=ActiveCell, LookIn:=xlFormulas _ 
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
    MatchCase:=False, SearchFormat:=False).Activate 

End Sub 

및 런타임 오류 91을 얻을 수가 I했습니다 집합의 범위를 '설정'를 사용하여 시도하고 그 중 하나를하지 않는 : 나는 다음과 같은 매크로를 실행합니다.

컨텍스트에 대해 ActiveCell.Column을 사용하여 사전 설정된 날짜의 열 번호를 얻으려고합니다.

+0

당신은 또한 worksheetfunction.match (...) – Dan

답변

1

단순히 "01/08/2012"를 검색하면 실제로 문자열을 검색합니다. CDate을 사용하여 날짜로 변환해야합니다.

또한 오류를 피하기 위해 If Not aCell Is Nothing Then을 사용하여 무엇이 있는지 확인하는 것이 좋습니다. 내 게시물은 link에 있습니다.

는 시도이

Sub FindDate() 
    Dim aCell As Range 

    Set aCell = Range("C6:Z6").Find(What:=CDate("01/08/2012"), After:=ActiveCell, _ 
    LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _ 
    SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) 

    If Not aCell Is Nothing Then 
     MsgBox aCell.Column 
    Else 
     MsgBox "Not Found" 
    End If 
End Sub 
+0

그레이트, 작동을 사용 할 수있는! SearchOrder를 'xlByColumns'로 변경하고 After를 'Range ("C6")로 설정하여 오류를 방지해야한다는 것을 알았지 만. – Sputnik