به روز رسانی خودکار آدرس سلولها در vba

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

    • 2015/11/24
    • 37
    • 40.00

    پرسش به روز رسانی خودکار آدرس سلولها در vba

    سلام

    من بارها با این مشکل برخورد کردم که یک شیت را طراحی کردم و برای طراحی که انجام دادم برنامه نویسی کردم. در حین برنامه نویسی متوجه شدم که مثلاً یک ستون در وسط جداول طراحی شده کم هست و مجبور شدم یک یا چند ستون رو اضافه یا کم کنم. در این حالت آدرس دهی تمام سلولهایی که تو کدنویسی داشتم به هم میریخته و مجبور بودم آدرسها رو دستی تصحیح کنم. آیا هیچ روشی وجود داره که مثل تابع نویسی در اکسل، خود نرم افزار بتونه آدرسها رو تصحیح و به روز کنه؟

    با سپاس فراوان
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزیز
    اینکه خود vba آدرس ها رو اصلاح کنه امکانش نیست. اما شما میتونین آدرس ها رو داینامیک تعریف کنید. مثلا اگر یک جدول دارین براش یک اسم تعریف کنید و تو vba اون اسم رو قرار بدین یا اینکه از قابلیت table استفاده کنید
    یا مثلا از توابع match و find و ... در کدنویسیتون استفاده کنید که آدرس سلول رو خودش پیدا کنه

    کامنت

    • Masih60

      • 2015/11/24
      • 37
      • 40.00

      #3
      نوشته اصلی توسط Amir Ghasemiyan
      سلام دوست عزیز
      اینکه خود vba آدرس ها رو اصلاح کنه امکانش نیست. اما شما میتونین آدرس ها رو داینامیک تعریف کنید. مثلا اگر یک جدول دارین براش یک اسم تعریف کنید و تو vba اون اسم رو قرار بدین یا اینکه از قابلیت table استفاده کنید
      یا مثلا از توابع match و find و ... در کدنویسیتون استفاده کنید که آدرس سلول رو خودش پیدا کنه
      ممنون از توضیحتون. توابع match و find رو خودم میگردم. اون قابلیت تعریف اسم برای جدول رو میفرمایید چطوری هست؟

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4598
        • 100.00

        #4
        نوشته اصلی توسط Masih60
        ممنون از توضیحتون. توابع match و find رو خودم میگردم. اون قابلیت تعریف اسم برای جدول رو میفرمایید چطوری هست؟

        منظورم استفاده از name manager هست
        شما محدوده رو انتخاب میکنین و در name manager یک اسم بهش میدین. مثلا masih
        حالا تو vba اینطوری فراخوانی میکنین
        کد:
        Range("masih")

        کامنت

        چند لحظه..