En la URL de Ozgrid.com he encontrado un bonito ejemplo de cómo capturar en una celda el nombre de una pestaña o hoja de trabajo mediante una función de VBA.
Como empieza el artículo de Ozgrid se muestra la forma que generalmente usaba hasta ahora con =cell(“filename”;A1) y la fórmula:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)
Pero con la pequeña función que muestra creo que es mucho más elegante y práctico, ya que como bien indica el artículo mencionado, con cell solamente se puede capturar la información si el fichero está grabado anteriormente:
Function SheetName(rCell As Range, Optional UseAsRef As Boolean) As String
‘ URL: http://www.ozgrid.com/VBA/return-sheet-name.htm
‘ Author: N/A
' Modified by Jr ( 14/5/2009 )
Application.Volatile
If UseAsRef = True Then
SheetName = "'" & rCell.Parent.Name & "'!"
Else
SheetName = rCell.Parent.Name
End If
End Function
Aparte la función de Ozgrid nos devuelve el valor buscado en formato referencia: Sheet1!, pasando como segundo parámetro True y poder utilizar los nombres de hojas dentro de otras funciones.
I think Pirandello had something to say to people about what truth really is.