2014-12-11 1 views
3

VBA에서 셀의 값을 복사 할 때 Excel이 내 기능을 트리거하는 방법이 있습니까?복사본의 VBA 이벤트 트리거?

또는 다른 해결 방법이 있습니까?

키 다운을 읽고 Ctrl + C를들을 수 있습니까?

복사 한 텍스트의 내용을 VBA에서 읽을 수 있습니까?

그 이유는 : Excel 시트의 일부 항목을 다른 프로그램으로 복사하고 이미 복사 된 모든 항목에 회색 글꼴 색상을 자동으로 추가하고 싶습니다.

+1

질문에 대한 대답은 여기에 있습니다 : http://stackoverflow.com/questions/11153995/is-any-any-event-that-fires-when-keys-are-pressed-when-editing-a-cell – Radek

+0

달성하고자하는 것을 알려 주시면 좋은 행동 방침을 제안합니다. 지금 이것은 낚시 원정이다. –

+0

정확히 무엇을하려고합니까? Ctrl-C 키 스트로크 캡처는 누군가가 리본의 복사 버튼을 클릭하거나 Ctrl 키를 누른 채 드래그하여 셀을 복사하거나 마우스 오른쪽 버튼을 클릭하고 복사를 선택하면 작동하지 않습니다. –

답변

3

매크로에 바로 가기 키를 지정하십시오.

예를 들어, 매크로이있는 경우 : 엑셀 2010 년

Sub CopyAndMarkAsCopied() 
    Dim r As Range 
    Set r = Selection 
    With r 
     .Copy 
     .Font.Color = RGB(100, 100, 100) 'dark grey font 
     .Interior.Color = RGB(200, 200, 200) 'light gray background 
     'whatever else 
    End With 
End Sub 

, 개발자의보기 매크로> 매크로 (또는 키보드 단축키 Alt 키 - F8). 이전 버전의 Excel에서는 메뉴가 조금씩 다르지만 바로 가기 키는 동일하게 작동합니다.

목록에서 매크로를 선택하고 옵션 ...을 클릭하십시오. 이 대화 상자에서 매크로에 바로 가기 키를 지정할 수 있습니다. 이 중 하나가 될 수 있습니다

  • Ctrl 키 - 당신이 소문자를 입력 할 필요가있는 경우에 어떤 편지; 또는
  • 시프트 - Ctrl 키 - 어떤 편지; 대문자를 입력하십시오. 시프트 - - C (아래 스크린 샷에서 대문자 C주의)이 예에서

나는 Ctrl 키 선택했다.

아마 Ctrl 키처럼 일반적으로 사용하는 기본 키보드 단축키를, 마스크 않을 것이다 - C하지만이 일이 있다면 당신은 그렇게 할 자유 롭다. 행동

enter image description here

Ctrl 키를 누른 - 시프트 - C :

+0

매력처럼 작동합니다. 고맙습니다. – user2520818

1

당신은 OnKey되지만 Ctrl + C에 매크로를 지정할 수 있습니다.

참조 : DOWN { "

Application.OnKey"{UP} ","PressUp " Application.OnKey :

여기 http://msdn.microsoft.com/en-us/library/office/ff197461(v=office.15).aspx

+0

RIGHT CLICK 복사 방법을 처리하거나 매크로를 복사하는 방법이 있습니까? 기본적으로이 값은 공식적인 방법으로 프로세스에 의해 읽혀졌습니다. – peege

+0

하지만 복사 기능이 느슨합니까? – user2520818

+1

@ user2520818 매크로 작업을 ** Selection.Copy **로 수행 할 수 있습니다. –

0

이전에 주어진 OnKey 문 제안의 예입니다 } ","PressDown "

"PressUp "및"PressDown "은 실행할 서브의 이름입니다. 이미 기존의 매크로가 할당 된 매크로를 실행하기위한 바로 가기를 만드는 것에 대해 주저합니다. ctrl + c를 눌렀을 때 매크로가 실행되도록 지정하면 이미 가지고있는 복사 기능을 덮어 씁니다.