Eu gostaria de criar uma função 'user-defined' no `Excel' que possa retornar a planilha atual. Eu poderia usar a função
sheetname = ActiveSheet.Name
Mas o problema com isto é que funciona e de repente começa a ter um nome de folha diferente. Por exemplo, em vez de SHEET I LOVE YOU
ele retorna SHEET I HATE YOU
.
Há alguma forma de resolver isto - ou talvez seja possível porque penso que não pode ser estático, mas varia?
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
Você pode usar o código abaixo para obter o nome da Folha Ativa e mudá-lo para o seu nome preferido.
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