2015-02-06 3 views
0

현재 동일한 통합 문서의 다른 시트의 범위를 매크로를 활성화 한 시트로 복사하는 코드가 있습니다. 나는를 ActiveCell가 열 C 에 있으며가 특정 값이있는 경우에만 실행할 수있는 매크로를 원하는활성 셀 값을 기준으로 한 삽입 범위

: 나는 도움을 필요로하는 곳에

이입니다. 이 값은 범위 내의 목록에서 찾을 수 있습니다 A1:A10

활성 셀이 C 열에 있어야하는 부분은 관리합니다. 이제 다른 부분. 이것은 지금까지 가지고있는 코드입니다.

Application.ScreenUpdating = False 

If ActiveCell.Column <> 3 Then 
    MsgBox "Select a cell in column C", vbExclamation 

Else 
    With Sheets("Info").Range("A25:J27").Copy 
     Sheets("Main").Activate 
     ActiveCell.End(xlDown).Offset(2).EntireRow.Insert shift:=xlDown 
    End With 
End If 

Application.ScreenUpdating = True 
Application.CutCopyMode = False 

'puts value in cell to trigger change event macro 
Range("A1").Value = 1` 

예를 들어, 내 목록에는 car, house, dog라는 단어가 있습니다. 그래서 내 activecell이 C 열에 있고이 세 값 중 하나가 있고 CommandButton을 클릭하면 매크로가 실행되기를 원합니다. 활성 셀이 C 열에 없거나이 세 값 중 하나가 아닌 경우 MsgBox가 나타납니다.

내가 알아낼 수 없기 때문에이 마지막 부분에 도움을 주시면 감사하겠습니다. 시간 내 주셔서 감사합니다. 함수 즉의 도움으로

답변

0

어쩌면 포함 :

If ActiveCell.Column = 3 And Contains(ActiveCell.Value, [d1:d3]) Then 
'your code 
End If 


    Public Function Contains(val, searchrange As Range) 
    Dim item As Range 
    For Each item In searchrange 
    If val = item.Value Then Contains = True: Exit Function 
    Next 
    Contains = False 
    End Function 
+0

죄송 후반 응 답, 나는 이번 주말에 내 마음대로 엑셀 통합 문서를하지 않았다. 나는 당신의 코드를 시험해 보았고 훌륭하게 작동했다. 고마워. 검색 범위를 다른 워크 시트로 변경할 수도 있습니까? 예 : [D1 : D3]을 사용하여 말할 수있는 것은 : worksheet ("sheet1"). 범위 ("D1 : D3") –

+0

예 물론 ... – anefeletos

+0

어떻게 관리하나요? 워크 시트 ("sheet1"). 범위 ("D1 : D3")로 인해 오류가 발생합니다. –

관련 문제