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

شانون یک کاربرگ بزرگ دارد که شامل شماره تلفن در یک ستون است. تعداد زیادی از آن شماره های تلفن شامل کد منطقه نیستند. اینها اعدادی در کد محلی شانون (775) هستند. او فکر می کند که آیا راهی سریع برای اضافه کردن 775 قبل از این شماره تلفن ها بدون نیاز به تایپ دستی آنها وجود دارد.

اولین چیزی که باید فهمید ماهیت داده های شانون است. شماره تلفن ها را می توان به صورت متن یا شماره در کاربرگ او گنجاند. ساده ترین راه برای این تعیین این است که سلولی را انتخاب کنید که حاوی یک شماره تلفن باشد و سپس به آنچه در نوار فرمول نشان داده شده است نگاه کنید. به عنوان مثال، اجازه دهید بگوییم که شما سلول A7 را انتخاب می کنید، که حاوی شماره تلفنی است که به نظر می رسد:

555-1212

اگر سلول A7 را انتخاب کنید و نوار فرمول 5551212 (بدون خط تیره) را نشان دهد، سلول حاوی عددی است که به شکل شماره تلفن فرمت شده است. با این حال، اگر نوار فرمول 555-1212 را نشان دهد (همان چیزی که در سلول A7 می بینید)، سلول حاوی متن است.

دانستن اینکه آیا با متن سروکار دارید یا با اعداد چه اهمیتی دارد؟ زیرا بر نحوه اضافه کردن کد منطقه تأثیر می گذارد. بیایید بگوییم که شما تعیین می کنید که شماره تلفن های شما پیامکی هستند. در این صورت می توانید موارد زیر را در یک ستون خالی وارد کنید:

=RIGHT("775-" & A7, 12)

چیزی که در نهایت به آن می رسید یک شماره تلفن با فرمت مناسب با پیشوند 775 است. اگر شماره تلفن در سلول A7 قبلاً دارای یک کد منطقه باشد، پیشوند "775-" با عملکرد RIGHT حذف می شود.

اگر می خواهید شکل متفاوتی به شماره تلفن های خود داشته باشید، می توانید به سادگی نحوه اضافه کردن پیشوند را در فرمول تغییر دهید، مانند شکل زیر:

=RIGHT("(775) " & A7, 14)

باز هم، این رویکردها فقط در صورتی کار می کنند که شماره تلفن شما دارای مقادیر متنی باشد. اگر آنها مقادیر عددی هستند، باید به طور متفاوتی به آنها نزدیک شوید. ساده ترین راه این است که طول مقدار عددی را بررسی کنید و اگر کمتر از 8 رقم باشد، پیشوند را به آن اضافه کنید:

=IF(LEN(A7)

به شرطی که نتیجه این فرمول را به عنوان یک شماره تلفن فرمت کنید، باید همانطور که می خواهید با پیشوند مناسب 775 به نظر برسد.

در نهایت، ممکن است شرایطی پیش بیاید که شماره تلفن های شما ترکیبی باشد - برخی متنی و برخی عددی هستند. در این مثال، ساده ترین کار استفاده از یک ماکرو است که می تواند اطلاعات منبع شما را بررسی کند، نوع داده ها را تعیین کند، و سپس تنظیمات شماره تلفن ها را انجام دهد. ماکرو زیر به سلول هایی که انتخاب می کنید نگاهی می اندازد و شماره تلفن های درون آن سلول ها را به متن فرمت شده تبدیل می کند:

Sub FixPhones1()
    Dim c As Range
    Dim sRaw As String
    Dim sNew As String
    Dim J As Integer

    Const sFmt As String = "###-###-####"

    For Each c In Selection
         Dont want to affect formulas
        If Not c.HasFormula Then
            sRaw = Trim(c.Text)
             Remove anything not a digit
            sNew = ""
            For J = 1 To Len(sRaw)
                If Mid(sRaw, J, 1) Like "[0-9]" Then sNew = sNew & Mid(sRaw, J, 1)
            Next J
             Dont make any changes if there are not exactly 7 or 10 digits
            If (Len(sNew) = 7) Or (Len(sNew) = 10) Then
                 Add area code, if necessary
                If Len(sNew) = 7 Then sNew = "775" & sNew
                sNew = Format(sNew, sFmt)
                c.Value = sNew
            End If
        End If
    Next c
End Sub

برای به دست آوردن خروجی فرمت شده مورد نظر خود، مطمئن شوید که ثابت sFmt را تغییر داده اید تا الگوی قالب مورد نظر را منعکس کند. سپس سلول هایی را که می خواهید تغییر دهید انتخاب کنید و ماکرو را اجرا کنید. اگر یک سلول انتخاب شده حاوی فرمولی باشد یا دارای 7 یا 10 رقم نباشد، تحت تأثیر قرار نمی گیرد.

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

Sub FixPhones2()
    Dim c As Range
    Dim sRaw As String
    Dim sNew As String
    Dim J As Integer

    Const sFmt As String = "[

توجه داشته باشید که تفاوت اصلی در این تغییر ماکرو این است که هر چیزی که در ثابت sFmt ذخیره می شود به ویژگی NumberFormat برای سلول در حال اصلاح اختصاص داده می شود.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

165 نفر آنلاین
0 عضو و 165 مهمان در سایت حاضرند
بازدید امروز: 9877
بازدید دیروز: 11078
بازدید کل: 15076913
...