다른 사람이 사용할 수 있도록 워크 시트를 개발하는 경우 항상 정보를 대문자로 입력하도록 할 수 있습니다. Excel은 정보를 대문자로 변환 할 수있는 워크 시트 기능을 제공하지만 사람들이 실제로 정보를 입력하기 때문에 적용되지 않습니다. 예를 들어, 누군가 B6 셀에 정보를 입력하면 워크 시트 함수를 사용하여 B6의 정보를 대문자로 변환 할 수 없습니다.

대신 매크로를 사용하여 변경 작업을 수행해야합니다. VBA에서 프로그래밍 할 때 워크 시트 셀의 내용이 변경 될 때마다 Excel에서 특정 매크로를 실행하도록 강제 할 수 있습니다. 다음 매크로를 사용하여 모든 워크 시트 입력을 대문자로 변환 할 수 있습니다.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.HasFormula Then Exit Sub         Application.EnableEvents = False         Target = UCase(Target.Cells(1))

Application.EnableEvents = True End Sub

그러나 매크로가 작동하려면 특정 위치에 입력해야합니다.

매크로를 배치하려면 다음 단계를 따르십시오.

  1. Alt + F11을 눌러 VBA 편집기를 표시합니다.

  2. Project 창의 Editor 왼쪽에서 사용중인 워크 시트의 이름을 두 번 클릭합니다. (먼저 VBAProject 폴더를 연 다음 그 아래에있는 Microsoft Excel Objects 폴더를 열어야 할 수 있습니다.)

  3. 워크 시트의 코드 창에 위의 매크로를 붙여 넣습니다.

  4. VBA 편집기를 닫습니다.

이제 워크 시트의 셀에 입력 된 모든 항목 (수식 제외)이 자동으로 대문자로 변환됩니다. 모든 것을 변환하지 않고 워크 시트의 특정 영역에있는 셀만 변환하려는 경우 매크로를 약간 수정할 수 있습니다.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not (Application.Intersect(Target, Range("A1:B10")) _       Is Nothing) Then         With Target             If Not .HasFormula Then                 Application.EnableEvents = False                 .Value = UCase(.Value)

Application.EnableEvents = True             End If         End With     End If End Sub

이 특정 예에서는 A1 : B10 셀에 입력 된 텍스트 만 변환됩니다. 다른 모든 것은 입력 된대로 남습니다. 다른 범위를 변환해야하는 경우 매크로의 두 번째 줄에 해당 범위를 지정하십시오.

_ 참고 : _

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

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

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

이 팁 (9813)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Forcing_Input_to_Uppercase [Forcing Input to Uppercase].