Kevin은 36 개의 워크 시트가 포함 된 워크 북을 가지고 있습니다. 그는 각 워크 시트에서 워크 시트 이름 (워크 시트 탭에서)을 가질 수있는 방법이 필요합니다.

해당 워크 시트의 셀에 있습니다. 그는 워크 시트 이름을 반환하는 사용자 정의 함수를 만들었지 만 36 개의 모든 워크 시트에 동일한 이름을 반환합니다. 사용자 정의 함수가 실행될 때 표시되는 워크 시트의 이름입니다. 그는 함수가 사용되는 시트의 이름을 항상 반환 할 수있는 사용자 정의 함수 (UDF) 형식의 매크로가 있는지 궁금합니다. 즉, 36 개의 워크 시트 통합 문서에서 사용되는 워크 시트에 따라 36 개의 다른 결과를 반환해야합니다.

짧은 대답은 그렇습니다. 방법이 있습니다. 사실 몇 가지 방법이 있습니다. 흥미롭게도 원치 않는 경우 매크로 나 함수를 사용할 필요가 없습니다. 예를 들어, 다음은 워크 시트의 모든 셀에서 작동하는 일반 워크 시트 수식입니다.

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

이 수식에서 CELL 함수의 인스턴스는 파일 이름과 파일 경로를 포함하여 워크 시트의 전체 이름을 반환합니다. FIND 함수를 사용하면 워크 시트 이름을 제외한 모든 항목이 제거됩니다.

CELL 함수의 각 인스턴스에서 셀 참조 (A1)를 사용합니다. 이렇게하면 CELL 함수가 셀 참조를 포함하는 워크 시트의 이름을 반환합니다. 그것 없이는 수식의 각 인스턴스에 대해 동일한 결과 (첫 번째 워크 시트)를 얻을 수 있습니다.

또한 저장되지 않은 새 통합 문서에서 수식을 사용하면 수식이 유효한 결과를 반환하지 않는다는 점도 알아야합니다. 실제로 CELL 함수에서 성공적으로 반환 할 수있는 이름을 가지도록 통합 문서를 저장해야합니다. 통합 문서 또는 워크 시트 이름에 오른쪽 대괄호 문자 ( “]”)가 포함 된 경우에도 제대로 작동하지 않습니다. 이 경우이 팁에서 설명하는 다른 솔루션 중 하나를 사용하는 것이 좋습니다.

사용자 정의 함수를 사용하려면 다음 함수와 같은 간단한 방법을 시도해 볼 수 있습니다.

Function TabName1() As String     Application.Volatile     TabName1 = ActiveSheet.Name End Function

그러나이 함수는 항상 활성 워크 시트의 이름을 반환하기 때문에 원하는 결과를 제공하지 않습니다. 즉, 통합 문서의 각 시트에 대해 함수를 호출하면 함수가 사용 된 시트의 이름 대신 항상 각 워크 시트의 활성 시트 이름이 반환됩니다. 다음 함수는 더 나은 결과를 제공합니다.

Function TabName2() As String     Application.Volatile     TabName2 = Application.Caller.Parent.Name End Function

이 함수를 사용하여 통합 문서의 다른 곳에서 워크 시트 이름을 참조하려는 경우이 함수가 더 잘 작동합니다.

Function TabName3(cell As Range)

TabName3 = cell.Worksheet.Name End Function

이 버전의 함수에서는 이름을 사용할 워크 시트의 셀에 대한 셀 참조 (모든 셀 참조)를 제공해야합니다.

물론 사용자 정의 함수를 사용하지 않으려는 경우 각 워크 시트 탭의 이름을 각 워크 시트의 동일한 셀에 채우는 매크로를 간단히 만들 수 있습니다. 예를 들어, 다음 매크로는 통합 문서의 각 워크 시트를 단계별로 실행하고 각 워크 시트의 이름을 A1 셀에 배치합니다.

Sub TabName4()

For J = 1 To ActiveWorkbook.Sheets.Count         Sheets(J).Cells(1, 1).Value = Sheets(J).Name     Next End Sub

이 방법은 동적이 아닙니다 (워크 시트 이름을 변경하거나 새 워크 시트를 추가 할 때마다 다시 실행해야 함). 또한 A1 셀에있는 모든 것을 덮어 씁니다. (워크 시트 이름을 각 워크 시트의 다른 셀에 배치하려면 Cells 컬렉션에 사용 된 값을 변경합니다.)

_ 참고 : _

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

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

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

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

link : / excelribbon-Getting_the_Name_of_the_Worksheet_Into_a_Cell [워크 시트 이름을 셀로 가져 오기].