Excel에서 셀을 편집 할 때 셀 서식을 좀 더 쉽게 지정할 수있는 여러 서식 도구 모음 단추에 액세스 할 수 있습니다. 예를 들어 굵게 또는 기울임 꼴 도구를 사용하여 셀에서 선택한 텍스트에 대해이 두 가지 속성을 변경할 수 있습니다. 어떤 시점에서 위 첨자 또는 아래 첨자 적용과 같은 다른 서식을 처리하기 위해 다른 도구 모음 단추를 만들 수 있습니다.

그러나 Excel에서는 고유 한 서식 지정 도구를 만들고 셀을 편집하는 동안 액세스 할 수 없습니다. 이는 Excel에서 편집하는 동안 모든 사용자 정의 매크로를 “비활성화”하기 때문입니다.

서식 | 셀 또는 Ctrl + 1을 눌러 셀 서식 대화 상자를 직접 표시합니다.

그러나 자신 만의 서식 도구를 만드는 데 사용할 수있는 교활한 방법이 있습니다. 여기에는 사용자 양식과 VBA를 사용하여 고유 한 서식 “대화 상자”를 만드는 것이 포함됩니다. (저는 알고 있습니다. 이것은 실제로 대화 상자가 아니라 양식입니다.) 자신 만의 사용자 양식을 만드는 것은 그리 어렵지 않지만 매크로와 관련하여 마음이 약한 사람에게는 적합하지 않습니다. 다음 단계에 따라 고유 한 양식을 작성하십시오.

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

  2. VBA 편집기의 삽입 메뉴에서 사용자 양식을 선택합니다. 양식 도구 상자와 함께 비어있는 새 사용자 양식이 표시됩니다.

  3. 양식 도구 상자의 컨트롤을 사용하여 양식 맨 위에 세 개의 CommandButton 컨트롤을 추가합니다.

  4. 왼쪽 CommandButton 컨트롤의 속성을 변경하여 이름이 btnSuper이고 캡션이 위 첨자가되도록합니다.

  5. 가운데 CommandButton 컨트롤의 속성을 변경하여 이름이 btnSub이고 캡션이 첨자가되도록합니다.

  6. 오른쪽 CommandButton 컨트롤의 속성을 변경하여 이름이 btnNormal이고 캡션이 Normal이되도록합니다.

  7. 세 개의 버튼 바로 아래에 TextBox 컨트롤을 추가합니다. 이 컨트롤의 속성을 변경할 필요가 없습니다.

  8. TextBox 컨트롤 바로 아래에 네 번째 CommandButton 컨트롤을 추가합니다.

  9. 이 마지막 CommandButton 컨트롤의 속성을 변경하여 해당 이름이 btnExit이고 캡션이 종료되도록합니다.

그게 다입니다. 사용자 양식을 만들고 방금 배치 한 컨트롤과 매크로 코드를 연결할 준비가되었습니다. 사용자 양식을 선택한 상태에서 F7을 눌러 양식의 코드 창을 표시하십시오. 창에는 자동으로 생성 된 코드 한두 줄이 포함될 수 있습니다. 이를 다음 코드로 바꿉니다.

Private Sub UserForm_Activate()

TextBox1.Text = ActiveCell.Formula End Sub
Private Sub btnSuper_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = True     End If End Sub
Private Sub btnSub_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Subscript = True     End If End Sub Private Sub btnExit_Click()

Unload UserForm1 End Sub
Private Sub btnNormal_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = False         ActiveCell.Characters(intStart, intLength).Font.Subscript = False     End If End Sub

사용자 양식의 코드 창을 닫고 양식 창 자체를 닫습니다. 이제 실제 사용자 양식을 표시 할 매우 짧은 매크로를 만들어야합니다. 이 매크로는 다른 Excel 매크로와 동일하게 만들어지며 다음과 같아야합니다.

Sub DoForm()

UserForm1.Show End Sub

이제 VBA 편집기 창을 닫을 수 있습니다. 매크로를 사용하려면 편집 할 셀을 선택한 다음 DoForm 매크로를 실행합니다. Excel은 선택한 셀의 텍스트를 포함하는 사용자 양식을 표시합니다.

그런 다음 사용자 양식 내에서 텍스트를 선택하고 단추 (위 첨자, 아래 첨자 및 일반)를 사용하여 실제 셀 내용의 서식을 변경할 수 있습니다. 매크로는 사용자 양식의 내용이 아니라 셀의 내용에 영향을줍니다. 따라서 선택한 셀과 사용자 폼을 화면에서 동시에 볼 수 있으면 도움이됩니다.

_ 참고 : _

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

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

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

이 팁 (1945)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다.