2015-02-02 5 views
1

세 번째 숫자가 셀에 입력 된 후 동적으로 하이픈을 삽입하기 위해 Worksheet_change 이벤트를 사용하려고합니다. 하이픈 삽입 트리거는 다음 캐리지 리턴없이 세 번째 숫자를 입력하는 것입니다. 그 다음 세 번째 숫자를 입력 할 것이고 세 번째 숫자는 두 번째 하이픈을 삽입하여 다음과 같이 끝내는 방아쇠가됩니다. . . 123-456-789 하이픈 삽입 트리거를 최종 캐리지 리턴으로 사용하고 싶지 않습니다. 코드를 작성할 수 있습니다. 많은 감사를드립니다.셀 사전 캐리지 리턴에 동적 문자 입력

Dim strWord As String 
Dim lngNumberOfCharacters As Long 
StrWord = ActiveCell.Value 
lngNumberOfCharacters = Len(strWord) 
If lngNumberOfCharacters = 3 Then 
strWord = (strWord & "-") 
ActiveCell.Value = strWord 

답변

1

Excel에서 가능한 것이 확실하지 않습니다. 캐리지 리턴 이전에 입력하는 문자에 액세스 할 수 있는지 잘 모르겠습니다. 이 의미에서 캐리지 리턴을 치기 전까지는 값이 저장되지 않습니다. 또한 당신은 정말로 이것을 위해 Worksheet_change 이벤트가 필요하지 않습니다. 셀 포맷> 사용자 정의> "### - ### - ###"으로 설정할 수 있습니다. 셀의 형식이 자동으로 변경됩니다.

1

내가 아는 한, 키를 눌렀을 때 발사 할 트리거가 없습니다. range이 편집되고 편집이 확인되면 Worksheet_change이 실행됩니다.

더하기, 특수 숫자 서식 (서식 셀 -> 사용자 지정)을 사용하여 달성하려는 작업을보다 쉽게 ​​수행 할 수 있습니다.