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

هنری می خواهد داده های موجود در سلول مبدأ را بدون خروج از موقعیت فعلی در کاربرگ، در سلول مقصد کپی کند. به عبارت دیگر، او دوست دارد از سلول A1 به سلول AE459 کپی کند بدون اینکه موقعیت فعلی خود را در V104 ترک کند. او متعجب است که آیا چنین ویرایشی حتی ممکن است؟

البته، رویکرد واضح برای این کار این است که به سادگی فرمول =A1 را در سلول AE459 قرار دهید. سپس، اکسل مراقب است که مطمئن شود دو سلول برابر هستند. شما همچنین می توانید یک پنجره دوم در کاربرگ باز کنید و از کپی کردن در آن پنجره مراقبت کنید. سلول انتخاب شده در پنجره اصلی (سلول V104) بدون تغییر باقی می ماند.

اگر واقعاً می خواهید یک عملیات "کپی" را بدون باز کردن پنجره دوم انجام دهید، باید به یک ماکرو متوسل شوید.

کپی کردن از یک سلول به سلول دیگر در یک ماکرو بسیار آسان است. به عنوان مثال، مثال زیر محتویات سلول A1 را به AE459 کپی می کند بدون اینکه سلولی را که در حال حاضر انتخاب کرده اید تحت تأثیر قرار دهد:

Sub CopyCell1()
   Copy the cell value to destination cell
    Range("AE459") = Range("A1")
End Sub

اگر می خواهید فرمولی که در سلول A1 است را به مقصد کپی کنید، باید نحوه انجام کپی را تغییر دهید. به طور خاص، باید از روش Copy با استفاده از محدوده مقصد به عنوان پارامتر استفاده کنید.

Sub CopyCell2()
   Copy the relative formula to destination
    Range("A1").Copy Range("AE459")
End Sub

البته یک ایراد این ماکروها ثابت بودن آنهاست – آنها فقط از سلول A1 به سلول AE459 کپی می کنند. اگر نیازهای کپی شما ممکن است متفاوت باشد، ممکن است بخواهید این کار را در پنجره VB Editors Immediate انجام دهید. فقط ویرایشگر را باز کنید و خط واحد را از ماکرو مناسب در پنجره تایپ کنید. سپس کپی انجام می شود و می توانید ویرایشگر را ببندید، بدون اینکه روی سلولی که انتخاب کرده اید تأثیری داشته باشید.

راه دیگر برای ایجاد کمی انعطاف در منبع و مقصد برای ماکرو این است که آن (ماکرو) از کاربر مبدا و مقصد را بخواهد. کلان زیر این رویکرد را اتخاذ می کند.

Sub CopyCell3()
    Dim SrceCell As String
    Dim DestCell As String

    SrceCell = InputBox("Copy From Cell ...")
    DestCell = InputBox("Copy To Cell ...")
    Range(DestCell) = Range(SrceCell)
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

112 نفر آنلاین
0 عضو و 112 مهمان در سایت حاضرند
بازدید امروز: 9492
بازدید دیروز: 14599
بازدید کل: 15091121
...