Jeff는 자신의 “마스터”워크 시트의 복사본을 만들고 새 워크 시트의 이름을 입력하라는 메시지를 표시하고 매크로 내에서 워크 시트 탭의 끝으로 이동하려고합니다. 그는이를 위해 매크로를 기록하려고했지만 작동하지 않았습니다.

기록 된 매크로가 작동하지 않는다는 사실은 놀랍지 않습니다.

매크로를 기록 할 때 수행 한 단계를 기록하도록 Excel에 지시합니다.

이러한 단계 (이 경우)에는 워크 시트의 이름이 포함되었으므로 해당 이름이 매크로에 기록되었습니다. 두 번째로 매크로를 실행하면 두 번째 단계에서 만들려는 워크 시트가 이미 첫 번째 단계에서 만들어 졌기 때문에 오류가 발생합니다.

이 경우 수동으로 매크로를 작성해야합니다. 프로세스 기록으로 시작할 수 있으며 다음과 같은 코드를 얻을 수 있습니다.

Sub Macro1()

Sheets("Master").Select     Sheets("Master").Copy After:=Sheets(3)

Sheets("Master (2)").Select     Sheets("Master (2)").Name = "NewMaster"

End Sub

코드는 워크 시트 (세 번째 시트 뒤에)를 배치 한 다음 항상 동일한 이름을 지정합니다. 여기에서 변경할 사항이 많습니다. 원하는 것은 다음과 같이 변경하는 것입니다.

Sub CopyRename()

Dim sName As String     Dim wks As Worksheet     Worksheets("Master").Copy after:=Sheets(Worksheets.Count)

Set wks = ActiveSheet     Do While sName <> wks.Name         sName = Application.InputBox _           (Prompt:="Enter new worksheet name")

On Error Resume Next         wks.Name = sName         On Error GoTo 0     Loop     Set wks = Nothing End Sub

이 매크로는 통합 문서에있는 시트 수에 관계없이 “Master”라는 워크 시트를 시트 목록의 끝에 복사하고 유효한 이름이 입력 될 때까지 새 워크 시트 이름을 입력하라는 메시지를 계속 표시합니다.

_ 참고 : _

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

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

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

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

link : / excelribbon-Creating_and_Naming_a_Worksheet_Using_a_Macro [매크로를 사용하여 워크 시트 만들기 및 이름 지정].