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

فرض کنید یک ورک بوک با سه کاربرگ Sheet1، Sheet2 و Sheet3 دارید. در ستون A1 کاربرگ Sheet2 فرمول =Sheet1!A1 را دارید. وقتی آن فرمول را از Sheet2 به سلول A1 Sheet3 کپی می کنید، فرمول همچنان به Sheet1 اشاره می کند. با این حال چگونه ممکن است؟ چرا اکسل مانند مراجع سلولی، مرجع برگه را تنظیم نمی کند؟

مانند محدوده های نام گذاری شده، اکسل نام کاربرگ ها را مطلق تلقی می کند. هر شیء کاربرگ مستقل از همه کاربرگهای دیگر در ورک بوک است. هنگامی که فرمولی را که شامل یک مرجع ورق است جای گذاری می کنید، آن مرجع صفحه بدون تغییر در چیزی که چسبانده می شود باقی می ماند.

یکی دو کار وجود دارد که می توانید انجام دهید. یکی این است که به سادگی مرجع فرمول را پس از چسباندن تغییر دهید تا به برگه صحیح ارجاع دهد. اگر تعداد زیادی از آنها را برای تغییر دارید، می توانید تمام فرمول های کاربرگ مورد نظر (F5 | ویژه | فرمول ها) را انتخاب کنید و سپس از Find and Replace برای جایگزینی نام کاربرگ اصلی (Sheet1) با نام کاربرگ صحیح (Sheet2) استفاده کنید. .

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

Function PrevSheet(rCell As Range)
    Application.Volatile
    Dim i As Integer
    i = rCell.Cells(1).Parent.Index
    PrevSheet = Sheets(i - 1).Range(rCell.Address)
End Function

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

=PrevSheet(A1)

این مقدار سلول A1 را از کاربرگ قبلی برمی گرداند. اگر Sheet1، Sheet2 و Sheet3 دارید و از این فرمول در Sheet3 استفاده می کنید، مقدار Sheet2!A1 را برمی گرداند. اگر برگه قبلی اولین برگه ورک بوک باشد یا یک کاربرگ نباشد، تابع یک خطای #Value برمی گرداند.

اگر بعداً این فرمول را در یک صفحه دیگر کپی کنید (مثلاً به برگه 5)، سپس مقدار را نسبت به مکان جدید خود بالا می برد، به این معنی که مقدار را از Sheet4!A1 بالا می برد.

شما همچنین می توانید یک نام برگه اضافه کنید و عملکرد به خوبی کار خواهد کرد:

=PrevSheet(Sheet3!A5)

این نسخه همیشه Sheet2!A5 را برمی گرداند زیرا Sheet2 صفحه قبلی Sheet3 است.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

104 نفر آنلاین
0 عضو و 104 مهمان در سایت حاضرند
بازدید امروز: 10017
بازدید دیروز: 25459
بازدید کل: 15237533
...