ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
15 visibility
موضوع: آفیس توسط:

دبی یک کاربرگ دارد که تاریخ های زیادی در آن وجود دارد. برای الحاق داده ها با تاریخ ها، او باید هر سلولی را که حاوی تاریخ است ویرایش کند و قبل از تاریخ یک آپستروف اضافه کند. او تعجب می کند که آیا راه سریعی برای انجام این کار وجود دارد؟ او سعی کرده است ردیف را برجسته کند و آن را به عنوان متن قالب بندی کند، اما این کار جواب نداد.

اگر دبی بخواهد کارهای دستی را که انجام می دهد خودکار کند، می توان آن را با یک ماکرو انجام داد. موارد زیر به طور خودکار سلول های انتخاب شده را به متن تبدیل می کند و تاریخ را در سلول قرار می دهد.

Sub DateToText()
    Dim cell As Range
    Dim sTemp As String

    For Each cell In Selection
        With cell
            sTemp = .Text
            .NumberFormat = "@"
            .Value2 = sTemp
        End With
    Next cell
End Sub

به استفاده از خاصیت .Value2 به جای خاصیت .Value هنگام بازگرداندن متن به سلول توجه کنید. این کار برای اطمینان از اینکه اکسل به طور ناخواسته متن را به مقدار تاریخ تبدیل نمی کند انجام می شود. به هر حال نباید این کار را انجام دهد، اما ویژگی .Value2 از نوع داده Date پشتیبانی نمی کند، بنابراین هر گونه تبدیل احتمالی، طبیعتاً ممنوع است.

همچنین باید توجه داشته باشید که ماکرو هر چیزی را که انتخاب کرده اید تبدیل می کند، حتی اگر حاوی تاریخ نباشد. باید مطمئن شوید که قبل از اجرای آن فقط سلول های حاوی تاریخ را انتخاب می کنید.

البته، ساده ترین راه برای انجام کاری که دبی در تلاش است انجام دهد، استفاده از تابع کاربرگ TEXT است. برای مثال فرض کنید سلول A1 حاوی یک تاریخ است. در سلول دیگری می خواهید قبل از تاریخ، عبارت "مهلت مقرر" را قرار دهید. شما می توانید این کار را با فرمولی مانند زیر انجام دهید:

="The deadline is " & TEXT(A1, "mmmm d, yyyy")

توجه داشته باشید که تابع TEXT به دو پارامتر نیاز دارد: سلولی که باید تبدیل شود (در این مورد A1) و الگویی برای استفاده در تبدیل ("mmmm d, yyyy"). اگر سلول A1 دارای تاریخی مانند 6/25/16 باشد، فرمول موارد زیر را برمی گرداند:

The deadline is June 25, 2016

الگویی که در داخل نقل قول ها مشخص می کنید، از الگوهایی که در تعریف قالب سفارشی برای یک سلول استفاده می کنید، بسیار پیروی می کند. به عنوان مثال، "mmmm" یک نام ماه سه نویسه ای را برمی گرداند در حالی که "mmmm" یک نام ماه کاملاً املایی را برمی گرداند. کدهایی که در الگو استفاده می کنید در سایر ExcelTips پوشش داده شده است، اما می توانید خلاصه مفیدی از کدهایی را نیز بیابید که به راحتی با آنچه اکسل در ویکی پدیا استفاده می کند مطابقت دارد:

https://en.wikipedia.org/wiki/Date_format_by_country

یک نکته جالب در مورد این رویکرد این است که واقعاً مهم نیست که تاریخ در سلول A1 چگونه قالب بندی شده است. هنگامی که از TEXT استفاده می کنید، به شماره سریال زیرین استفاده شده توسط اکسل برای ذخیره تاریخ تکیه می کند و سپس آن را بر اساس الگویی که شما مشخص می کنید قالب بندی می کند – مستقل از هر قالب بندی در سلول حاوی تاریخ.

البته، اگر می خواهید یک تبدیل مستقیم به متن انجام دهید، لازم نیست چیزی را با تاریخ مرتبط کنید. در این مورد، شما فقط از تابع TEXT به تنهایی استفاده می کنید:

=TEXT(A1, "mmmm d, yyyy")

تابع TEXT طبیعتاً یک مقدار متنی را برمی گرداند.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

94 نفر آنلاین
0 عضو و 94 مهمان در سایت حاضرند
بازدید امروز: 5279
بازدید دیروز: 23827
بازدید کل: 15439795
...