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

مل اغلب می خواهد یک کاراکتر را به ابتدای هر چیزی که در محدوده ای از سلول ها است، از قبل معطوف کند. به عنوان مثال، ممکن است بخواهد یک حرف به ابتدای متن اضافه کند (بنابراین «123» به «A123» و «xyz» به «Axyz» می شود) یا ممکن است بخواهد یک آپستروف اضافه کند (بنابراین «123» به «123» می شود. " و "xyz" به "xyz" تبدیل می شود). مل نمی داند که آیا می توان این کار را با استفاده از Find and Replace انجام داد.

پاسخ کوتاه این است که نمی تواند. قابلیت های Find and Replace در اکسل نسبت به Word محدودتر است، جایی که شما می توانید برای جستجوی عبارات و استفاده از متن "Find What" در چیزی که جایگزین شده است، استفاده کنید. (اینها فقط دو نمونه از قابلیت هایی هستند که در Excels Find and Replace وجود ندارند.)

پس یک پاسخ احتمالی این است که داده های خود را در Word کپی کنید، از Find and Replace برای ایجاد تغییرات استفاده کنید و سپس داده ها را دوباره کپی کنید. البته، خطر از دست دادن قالب بندی خود در سفر رفت و برگشت، از دست دادن مقداری دقت و تبدیل تمام نتایج فرمول خود به مقادیر ثابت را دارید. برای بسیاری از کاربران، این خطرات قابل قبول نیستند.

گزینه دیگر استفاده از قابلیت های الحاق اکسل است. برای مثال، اگر مقادیری که می خواهید از قبل در ستون A قرار بگیرند (با A1 شروع می شوند)، از فرمولی مانند ستون B استفاده می کنید:

="A" & A1

نتیجه حرف A را از قبل به هر چیزی که در A1 است تعلیق می کند. این برای هر چیزی که از قبل در انتظار است به جز آپستروف کار می کند. تلاش برای پیش انتقال آپاستروف به 123 یا xyz ختم می شود، اما آپوستروف در سلول قابل مشاهده است. نتیجه در اکسل مانند تایپ یک آپاستروف به دنبال 123 یا یک آپاستروف به دنبال xyz نیست. (در مورد تایپ، آپوستروف نشان می دهد که محتوای سلول باید به عنوان متن در نظر گرفته شود و آپوستروف فقط در نوار فرمول قابل مشاهده است، نه در خود سلول.)

اگر واقعاً می خواهید مقادیر یک سری از سلول ها را تغییر دهید (که تمایل به استفاده از Find and Replace نشان می دهد)، پس تنها کاری که می توانید انجام دهید استفاده از یک ماکرو برای ایجاد تغییرات است. اگر فقط می خواهید سلول هایی را که با یک مقدار تنظیم شده (مانند 123) با یک حرف (مثل A) شروع می شوند، از قبل آماده کنید، یک ماکرو ساده کافی است.

Sub Prepend1()
    ToFind = "123"
    ToFindLength=Len(ToFind)
    ToPrepend = "A"

    For Each rcell In Selection
        If LCase(Mid(rcell.Value, 1, ToFindLength)) =  LCase(ToFind) Then
            rcell.Value = ToPrepend & rcell.Value
        End If
    Next
End Sub

توجه داشته باشید که متغیر ToFind حاوی متن آغازینی است که می خواهید از قبل به آن بپیوندید و متغیر ToPrepend حاوی چیزی است که می خواهید قبل از آن رشته ظاهر شود. در این مثال، هنگامی که محدوده ای از سلول ها را انتخاب می کنید و ماکرو را اجرا می کنید، هر چیزی که با 123 شروع می شود (مانند "123" یا "12345" یا "123D27X") حرف A را به جلوی سلول اضافه می کند.

با این حال، وقتی می خواهید حرف را به جلوی هر سلول در محدوده اضافه کنید، چنین ماکرویی کمکی نمی کند. در این صورت شما به رویکرد متفاوتی نیاز دارید.

Sub Prepend2()
    Dim rng As Range
    Dim c As Range
    Dim ToPrepend As String

    ToPrepend = "A"

     Process only text and number constants
    Set rng = Selection.SpecialCells(xlCellTypeConstants, 3)

    For Each c In rng
        c.Value = ToPrepend & c.Value
    Next c
End Sub

این ماکرو زیرمجموعه ای از سلول هایی را که قبل از اجرای آن انتخاب کرده اید (فقط سلول هایی حاوی متن و مقادیر عددی) می گیرد و سپس محتویات متغیر ToPrepend را به ابتدای سلول اضافه می کند. اگر می خواهید آنچه را که از قبل معلق است تغییر دهید، به سادگی مقدار متغیر را تغییر دهید. (لازم به ذکر است که اگر ToPrepend را به آپوستروف تغییر دهید، سلول هایی که آپوستروف از قبل به آنها تعلیق شده است دقیقاً به گونه ای رفتار می کنند که گویی تایپ کرده اید و پس از آن مقدار سلول آپوستروف می شود.)

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

85 نفر آنلاین
0 عضو و 85 مهمان در سایت حاضرند
بازدید امروز: 8468
بازدید دیروز: 23827
بازدید کل: 15442984
...