Dorothy의 학생들은 수표 장 시뮬레이션 워크 북을 사용자 지정하여 기본 이름을 자신의 이름으로 바꿉니다. 예를 들어 “Jason Anderson”을 검색하여 이름을 “Sue Smith”로 바꾸길 원합니다.

8 개의 워크 시트 탭에있는 텍스트 상자에는 22 개의 “Jason Anderson”이 있으며 워크 시트 자체에는 몇 가지 더 있습니다.

Dorothy는 모든 워크 시트 항목과 모든 주석 항목을 한 번에 찾고 바꿀 수있는 방법을 궁금해합니다.

매크로를 사용하지 않고는이 작업을 수행 할 수 없습니다. 매크로는 통합 문서의 각 셀, 각 주석 및 각 텍스트 상자를 살펴보고 변경이 필요한지 확인해야합니다. 다음은이를 수행하는 방법의 예입니다.

Sub ReplaceNames()

Dim sDefaultName As String     Dim sNewName As String     Dim sht As Worksheet     Dim cmt As Comment     Dim wks As Worksheet     Dim sCmt As String     Dim shp As Shape

sDefaultName = "Jason Anderson"

sNewName = InputBox("Enter your first and last name.", _       "Name Replacement")



' Replace cell text     For Each sht In ActiveWorkbook.Worksheets         sht.Cells.Replace what:=sDefaultName, _           Replacement:=sNewName, LookAt:=xlPart, _           SearchOrder:=xlByRows, MatchCase:=False, _           SearchFormat:=False, ReplaceFormat:=False     Next sht

' Replace comment text     For Each wks In ActiveWorkbook.Worksheets         For Each cmt In wks.Comments             sCmt = cmt.Text             If InStr(sCmt, sDefaultName) <> 0 Then                 sCmt = Application.WorksheetFunction. _                   Substitute(sCmt, sDefaultName, sNewName)

cmt.Text Text:=sCmt             End If         Next cmt     Next wks     Set wks = Nothing     Set cmt = Nothing

' Replace text box text     On Error Resume Next     For Each wks In ActiveSheet.Parent.Worksheets         For Each shp In wks.Shapes             With shp.TextFrame.Characters                 .Text = Application.WorksheetFunction.Substitute( _                   .Text, sDefaultName, sNewName)

End With         Next shp     Next wks End Sub

매크로는 사용자에게 새 이름을 입력하라는 메시지를 표시 한 다음 셀, 주석 및 텍스트 상자를 검색하여 기본 이름 ( “Jason Anderson”)이 있는지 확인합니다. 그렇다면 적절한 교체가 이루어집니다.

매크로를 사용하여 검색을 수행하지 않으려면 통합 문서를 재구성하는 것이 도움이 될 수 있습니다. 예를 들어, 개인의 이름과 같은 일반적인 정보가 입력되는 “데이터 입력 워크 시트”를 만들 수 있습니다. 다른 워크 시트에서는 데이터 입력 워크 시트의 이름이 수식을 사용하여 참조됩니다. 따라서 데이터 입력 워크 시트에서 한 번 변경되고 다른 모든 워크 시트에서 이름이 변경됩니다.

이 접근 방식을 사용하면 주석에도 사용할 수 있습니다. 주석 또는 모양을 선택하고 수식 표시 줄에 다음과 같은 참조 수식을 입력 할 수 있습니다.

=MyName

이는 데이터 입력 워크 시트의 사용자 이름이 MyName 명명 된 범위와 연결되어 있다고 가정합니다. 주석 또는 셰이프에 추가 정보가 필요한 경우 데이터 입력 워크 시트의 셀에 해당 텍스트를 구성한 다음 MyName 명명 된 범위에 대해 언급 한대로 해당 셀의 내용을 주석 또는 셰이프에 할당 할 수 있습니다.

_ 참고 : _

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

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

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

이 팁 (2614)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.