Excel에서 현재 워크시트를 반환할 수 있는
사용자 정의` 함수를 만들고 싶습니다. 저는
sheetname = ActiveSheet.Name
하지만 문제는 이 함수가 작동하다가 갑자기 다른 시트 이름을 갖기 시작한다는 것입니다. 예를 들어, SHEET I LOVE YOU
대신 SHEET I HATE YOU
가 반환됩니다.
이 문제를 해결할 수있는 방법이 있습니까? 아니면 정적 일 수는 없지만 변할 수 있다고 생각하기 때문에 가능할 수 있습니까?
Sub FnGetSheetsName()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
For i = 1 To mainworkBook.Sheets.Count
'Either we can put all names in an array , here we are printing all the names in Sheet 2
mainworkBook.Sheets("Sheet2").Range("A" & i) = mainworkBook.Sheets(i).Name
Next i
End Sub
아래 코드를 사용하여 활성 시트 이름을 가져와서 원하는 이름으로 변경할 수 있습니다.
Sub ChangeSheetName()
Dim shName As String
Dim currentName As String
currentName = ActiveSheet.Name
shName = InputBox("What name you want to give for your sheet")
ThisWorkbook.Sheets(currentName).Name = shName
End Sub