میرنا پرسید که آیا راهی برای استفاده از اطلاعات در برگه کاربرگ در یک سلول وجود دارد؟ به ویژه، او برگه های خود را با استفاده از تاریخ نام گذاری کرده است، و می خواهد از آن تاریخ ها در خود کاربرگ استفاده کند.
دو راه برای این کار وجود دارد. اگر نام برگه های کاربرگ شما فقط از تاریخ تشکیل شده است (متن دیگری در آنها وجود ندارد)، می توانید از فرمول اکسل زیر برای استخراج تاریخ استفاده کنید:
=MID(CELL("filename"),FIND("]",CELL("filename"),1)+1,10)
این کار به این دلیل کار می کند که تابع =CELL("نام فایل") مسیر کامل و نام فایل فعلی را به همراه متن موجود در برگه کاربرگ برمی گرداند. نام فایل خود در پرانتز ظاهر می شود. فرمول موقعیت براکت بسته را پیدا می کند و هشت کاراکتر اول را از آن موقعیت تا انتها استخراج می کند. (تاریخ ها را می توان حداکثر در 10 کاراکتر بیان کرد، مانند 12-31-2020.)
یکی از اخطارهای استفاده از این فرمول این است که فقط در صورتی که کتاب کار را ذخیره کنید، هر چیزی با ارزش را برمی گرداند. اگر از آن در یک کتاب کار کاملاً جدید و ذخیره نشده استفاده کنید، یک خطای #VALUE برمیگرداند.
روش دیگری که بسیار جذاب است، به خصوص اگر متن اضافی در برگه کاربرگ داشته باشید، ایجاد یک تابع تعریف شده توسط کاربر است. به عنوان مثال، فرض کنید برگه های کاربرگ شما دارای نام "ماه پایانی 10-31-20" هستند. در این حالت می توانید از تابعی مانند زیر استفاده کنید:
Function SheetName() As Date
Dim sTab As String
Application.Volatile
sTab = ActiveSheet.Name
sTab = Trim(Right(sTab, 8))
SheetName = CDate(sTab)
End Function
برای استفاده از این تابع در کاربرگ خود، کافی است موارد زیر را در یک سلول وارد کنید:
=SheetName()
این تابع شماره سریال تاریخ را برمیگرداند، بنابراین باید سلول را با استفاده از یکی از قالبهای تاریخ موجود قالببندی کنید. تابع کار می کند زیرا فرض می کند که تاریخ 8 کاراکتر آخر متن در برگه کاربرگ است. اگر برگههای کاربرگ شما از نامگذاری متفاوتی استفاده میکنند (مانند قرار دادن تاریخ در ابتدای برگه یا استفاده از 10 رقم برای تاریخ)، پس تنها کاری که باید انجام دهید این است که نام را بهطور متفاوتی در ماکرو جدا کنید.