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

هنگامی که مایکل عملیات «یافتن همه» را در اکسل انجام می دهد، برنامه فهرستی از تمام سلول ها را نشان می دهد که حاوی هر چیزی است که او جستجو می کند. مایکل می خواهد آن فهرست آدرس های سلول را در کاربرگ دیگری کپی کند، بنابراین فکر می کند آیا راهی برای کپی کردن لیست در کلیپ بورد وجود دارد تا بتواند آن را در یک کاربرگ جایگذاری کند.

چند راه برای انجام این کار وجود دارد و بیشتر آنها شامل استفاده از ماکروها هستند. با این حال، قبل از رسیدن به رویکردهای مبتنی بر کلان، اجازه دهید به روشی که می توانید با استفاده از محدوده های نام گذاری شده و Name Manager به آدرس ها دسترسی پیدا کنید، نگاهی بیندازیم:

image

شکل 1. کادر محاوره ای Name Manager.

  1. مانند قبل از FindAll استفاده کنید، اما کادر گفتگوی Find and Replace را نبندید.
  2. در لیست آدرس هایی که نشان داده شده اید، به پایین بروید، کلید Shift را نگه دارید و روی آخرین مطابقت کلیک کنید. اکسل تمام سلول های منطبق را انتخاب می کند.
  3. برای بستن کادر گفتگوی Find and Replace، Esc را فشار دهید . سلول های منطبق هنوز همگی انتخاب شده اند.
  4. نامی را در کادر نام (در سمت چپ نوار فرمول و درست بالای سلول A1) تایپ کنید. این یک محدوده با نام ایجاد می کند که از تمام سلول های انتخاب شده تشکیل شده است.
  5. تب Formulas روبان را نمایش دهید.
  6. روی ابزار Name Manger کلیک کنید. اکسل کادر محاوره ای Name Managers را نمایش می دهد. (شکل 1 را ببینید.)
  7. روی نامی که در مرحله 4 ایجاد کردید کلیک کنید.
  8. لیست سلول ها در کادر Refers To در پایین کادر محاوره ای قرار خواهد گرفت.

در این مرحله می توانید اطلاعات موجود در کادر Refers To را کپی کرده و در هر چیزی که می خواهید (از جمله کاربرگ دیگر) قرار دهید. پس از چسباندن، باید داده ها را کمی ماساژ دهید، زیرا لیست دقیقاً همین است - یک لیست سریالی از آدرس های سلولی.

بدیهی است که این کار بر ورک بوک شما تأثیر می گذارد، زیرا محدوده ای با نام ایجاد می کند. اگر چندین بار این کار را انجام دهید، چندین محدوده با نام ایجاد خواهید کرد. البته اگر بخواهید این کار را اغلب انجام دهید، می تواند به سرعت دشوار شود. اینجاست که راه حل های کلان وارد عمل می شوند. در زیر نمونه ای از یک ماکرو است که یک مقدار خاص را جستجو می کند و سپس آدرس هر سلول حاوی آن مقدار را در کاربرگ دیگری قرار می دهد.

Sub CellAdressList()
    Dim c1 As String
    Dim nxt As String

    Sheets("Sheet1").Select
    Range("A1").Select
    Cells.Find(What:="qrs", After:=ActiveCell, _
      LookIn:=xlValues, LookAt:=xlWhole, _
      SearchOrder:=xlByRows, SearchDirection:=xlNext, _
      MatchCase:=False, SearchFormat:=False).Activate
    c1 = ActiveCell.Address
    Sheets("Sheet2").Select
    Range("A1").Select
    Range("A1").Value = c1
    Do Until nxt = c1
        Sheets("Sheet1").Select
        Cells.FindNext(After:=ActiveCell).Activate
        nxt = ActiveCell.Address
        Sheets("Sheet2").Select
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Value = nxt
    Loop
    ActiveCell.Value = ""
End Sub

کلان چند فرض را مطرح می کند. ابتدا فرض می شود که شما در حال جستجوی اطلاعات در کاربرگ به نام Sheet1 هستید. دوم، فرض می کند که می خواهید لیستی از آدرس ها را در کاربرگ به نام Sheet2 قرار دهید. در نهایت، فرض می کند که مقدار "qrs" را در Sheet1 جستجو می کنید. در صورت تمایل می توان تمامی این عناصر ماکرو را تغییر داد.

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

Sub CopyFindAllSelection()
    Dim outcell As Range
    Dim c As Range

    Set outcell = Range("Sheet2!A1")
    For Each c In Selection
        outcell.Value = c.Address
        Set outcell = outcell.Offset(1, 0)
    Next
End Sub

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

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

90 نفر آنلاین
0 عضو و 90 مهمان در سایت حاضرند
بازدید امروز: 20641
بازدید دیروز: 23384
بازدید کل: 15271538
...