Sheila에는 일련의 4 자리 숫자를 입력해야하는 워크 시트가 있습니다. 그녀는 각 항목 사이에서 Enter 또는 Tab을 누를 필요가없는 방법을 원합니다. 즉, 네 번째 숫자를 누를 때마다 Sheila는 Excel이 자동으로 다음 셀로 이동하기를 원합니다.

Excel은 이러한 유형의 데이터 항목을 옵션으로 제공하지 않습니다. 그러나 데이터 입력을 처리하는 매크로를 만들 수 있습니다. 한 가지 방법은 사용자에게 문자열을 묻는 간단한 매크로를 사용하는 것입니다. 사용자가 Enter 키를 누르면 (문자열이 완료되었음을 나타 내기 위해) 매크로는 각각의 연속적인 4 자 청크를 가져와 연속 셀에 넣습니다.

Sub FourCharEntry1()

Dim str As String     Dim x As Integer     Dim y As Integer

str = InputBox("Enter string")

y = 0     For x = 1 To Len(str) Step 4         ActiveCell.Offset(0, y) = "'" & Mid(str, x, 4)

y = y + 1     Next End Sub

매크로는 4 문자 청크를 셀에 넣으므로 각 청크 앞에 아포스트로피가 있는지 확인합니다. 그 이유는 4 문자 청크가 숫자로만 구성되고 해당 숫자가 하나 이상의 0으로 시작하는 경우 이러한 인스턴스를 처리하기위한 것입니다. 아포스트로피를 추가하면 Excel이 셀 항목을 텍스트로 처리하고 선행 0이 지워지지 않도록합니다.

또한 누군가가 워크 시트의 셀에 텍스트를 입력하도록 허용함으로써 InputBox의 사용을 피할 수도 있습니다. 사용자는 원하는만큼 입력 할 수 있습니다 (필요한 경우 수천 자).

그런 다음 셀을 선택한 상태에서 셀에서 정보를 가져와 동일한 작업을 수행하는 매크로를 실행하여이를 4 자 단위로 나눌 수 있습니다. 다음 매크로는이를 수행합니다.

Sub FourCharEntry2()

Dim str As String     Dim x As Integer     Dim y As Integer

str = ActiveCell.Value     y = 0     For x = 1 To Len(str) Step 4         ActiveCell.Offset(0, y) = "'" & Mid(str, x, 4)

y = y + 1     Next End Sub

또 다른 접근 방식은 사용자 입력에 사용자 지정 사용자 양식을 사용하는 것입니다. 이 양식은 VBA와 훨씬 더 풍부한 상호 작용을 제공하므로 실제로 네 번째 문자를 입력 할 때마다 셀에 정보를 넣을 수 있습니다.

두 개의 컨트롤 (텍스트 상자와 단추)이 포함 된 사용자 양식 (_ExcelTips_의 다른 문제에 설명 됨)을 만들어 시작합니다. 텍스트 상자의 이름을 vText로 지정하고 다음 코드를 연결합니다.

Private Sub vText_Change()      If Len(vText) = 4 Then         ActiveCell = vText         ActiveCell.Offset(0, 1).Activate         UserForm1.vText.Value = ""

End If End Sub

이것은 텍스트 상자의 내용이 변경 될 때마다 (즉, 각 문자를 입력 할 때) 실행 된 다음 포함 된 길이를 확인합니다. 길이가 4에 도달하면 코드는 해당 문자를 가져 와서 셀에 넣습니다. 그런 다음 vText의 내용이 비워집니다.

사용자 양식에서 만드는 버튼의 이름은 실제로 중요하지 않습니다. 사용자 양식을 닫는 방법으로 사용되며 연관된 다음 코드가 있어야합니다.

Private Sub Cancel_Click()

Unload UserForm1 End Sub

사용자 양식을 사용할 준비가되면 입력을 시작할 셀을 선택한 후 다음 매크로를 실행하십시오.

Sub Start()

UserForm1.Show End Sub

사용자 양식이 나타나고 입력을 시작할 수 있습니다. 완료되면 버튼을 클릭하면 사용자 양식이 닫힙니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (3923)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Automatically_Moving_from_Cell_to_Cell_when_Entering_Data [데이터 입력시 셀에서 셀로 자동 이동].