ایجاد n شیت جدید و هر شیت با نام دلخواه در یک حلقه for

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • امیر رضا

    • 2014/02/14
    • 38

    ایجاد n شیت جدید و هر شیت با نام دلخواه در یک حلقه for

    سلام من دیتابیسم در شیت 1 هست و موجودیت ها شامل تاریخ - مبلغ - تراکنش - کد خودرو رو شامل میشه که من کد خودروهای بدون تکرار رو در ستون g ریختم

    میخوام در یک حلقه for اولا :

    1- به ازای هر خودرو که در ستون g وجود دارد شیت جدیدی ایجاد بشه و نام شیت رو هم برابر همان کدخودرو قرار بدهم

    2- اطلاعات مربوط به همان خودرو از شیت 1 خوانده بشه و در شیت خودش ریخته بشه

    3- در شیت جدیدی که ایجاد میشه مجموع ستونهای b و c در پایان ستون خودش (انتهاترین سلولی که خالی است) آورده بشه

    من کدمو زدم اطلاعات لازم رو در لیست باکس میریزم و از لیست باکس به شیت جدید باید انتقال داده بشه ولی چند تا مشکل :

    برای اضافه کردن شیت و تغیر نام اون به نام مقدار جدید گیر دارم
    فشار زیادی روی cpu لود میشه (بخاطر رکورد زیاد و حلقه های تو در تو و ریختن دیتا در لیست باکس)
    مرحله 3 هم که اشاره کردم رو هم بخاطر همین درگیر شدن سی پیو نمیخوام دوباره یه حلقه دیگه بنویسم

    پس هر جا لازم بود با سناریویی که گفته شد کد های اضافی رو حذف یا ویرایش کنید اگر بشه از شی لیست باکس هم صرف نظر کرد بنظرم عالی میشه

    فایل رو ضمیمه میکنم البته بخاط حجم خیلی زیادش کلی از دیتاهای اضافی رو پاک کردم

    sheets.xlsm

    در پایان از همه تشکر میکنم
  • ~M*E*H*D*I~
    • 2011/10/19
    • 4377
    • 70.00

    #2
    در اکسل امکان اینکه دو شیت همنام داشته باشیم وجود نداره شما یک حلقه تو در تو ایجاد کردی که با یک شرط که اگر مقدار سلول در ستون g با مقدار سلول در ستون c برابر بود بیاد شیت اضافه کنه و به لیست باکس اضافه کنه خب مطمئنا با توجه به تکراری بودن ستون c کد شرط به دفعات بر قرار خواهد شد ولی با اولین شرط یک شیت با نام دلخواه ایجاد شده و در دفعه دومی که شرط true باشه شیت همنام ایجاد نخواهد شد بنابراین حلقه و شرط شما به کل اشتباس
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • امیر رضا

      • 2014/02/14
      • 38

      #3
      نوشته اصلی توسط ~M*E*H*D*I~
      در اکسل امکان اینکه دو شیت همنام داشته باشیم وجود نداره شما یک حلقه تو در تو ایجاد کردی که با یک شرط که اگر مقدار سلول در ستون g با مقدار سلول در ستون c برابر بود بیاد شیت اضافه کنه و به لیست باکس اضافه کنه خب مطمئنا با توجه به تکراری بودن ستون c کد شرط به دفعات بر قرار خواهد شد ولی با اولین شرط یک شیت با نام دلخواه ایجاد شده و در دفعه دومی که شرط true باشه شیت همنام ایجاد نخواهد شد بنابراین حلقه و شرط شما به کل اشتباس
      جناب استاد خیلی خیلی از شما ممنونم سعی میکنم سورسو اطلاح کنم اگه نتیجه نگرفتم راهنمایی میکنید ؟

      کامنت

      چند لحظه..