2013-04-19 2 views
3

많은 매크로가있는 비용 시트가 있습니다. 매크로 중 하나는 시트의 맨 아래에 새 광고 항목을 추가하는 것입니다. 나는 그 셀을 찾고 그것을 선택하기를 원한다면, 내가 추가하는 아이템이 "Custom"이라는 텍스트로 시작한다면, If 코드를 입력하고 싶습니다. 아래 코드는 시도하고 있지만 형식 불일치 함께 디버그하고 사용자 지정 범위 ("B : B"). 값 줄을 강조 표시합니다. 어떤 도움이라도 대단히 감사합니다.If 매크로를 사용하여 특정 텍스트가있는 셀을 찾으십시오.

Dim Custom As String 
    Custom = Range("B:B").Value 
    If Custom Like "Custom *" Then 
    Cells.Find(What:="Custom ", After:=ActiveCell, LookIn:=xlFormulas, _ 
     LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
     MatchCase:=True, SearchFormat:=False).Activate 
    ActiveCell.FormulaR1C1 = ("Test") 
    End If 
+0

'Cells.Find ....'로 시작하는 줄을 제외한 모든 항목을 제거하고 '.... Activate'까지 유지하고 필요한 항목이 아닌지 알려주시겠습니까 ?? –

+0

@ KazJaw : 사과드립니다. 귀하의 의견을 보았습니다. 답변을 게시하려면 알려주십시오. 나는 내 것을 지울 것이다. –

+0

당신의 것을 지키자. :) –

답변

7

이 경우 LIKE을 사용할 필요가 없습니다. .Find이 예제를 참조하십시오.

LookAt:=xlPart을 사용합니다. 이렇게하면 셀 내용에 "Custom "이있는 경우 코드가이를 catch합니다.

Sub Sample() 
    Dim ws As Worksheet 
    Dim aCell As Range 

    Set ws = ThisWorkbook.Sheets("Sheet1") 

    With ws 
     Set aCell = .Columns(2).Find(What:="Custom ", LookIn:=xlValues, _ 
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
        MatchCase:=False, SearchFormat:=False) 
     If Not aCell Is Nothing Then 
      aCell.Value = "Test" 
     Else 
      MsgBox "Not Found" 
     End If 
    End With 
End Sub 
관련 문제