آدرس دهی وابسته

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • Masih60

    • 2015/11/24
    • 37
    • 40.00

    [حل شده] آدرس دهی وابسته

    سلام،

    روز همگی بخیر. فرض کنید این کد برنامه رو داریم:
    کد:
    Sheets(1).Cells(35, 2).Value = 35
    آیا راهی وجود داره که اگر به دلیل اضافه یا حذف ستون یا سطر در شیت محل درج عدد 35 تغییر کرد، بطور اتوماتیک کد هم آدرس دهیش آپدیت بشه؟ دقیقاً مثل همون اتفاقی که برای فرمول نویسی عادی میفته و وقتی یه فرمول رو از یک سلول به سلول دیگه ای انتقال بدیم، آدرس دهی ها با توجه به جا به جایی آپدیت میشن. مشکلی که الان دارم این هست که اگر بخوام در آینده سطر یا ستونی رو به خروجی اکسل اضافه کنم، باید تمام سطر و ستونهای بعد از اون رو در کدهای VBA مجدداً آدرس دهی کنم.

    با تشکر
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    نوشته اصلی توسط Masih60
    سلام،

    روز همگی بخیر. فرض کنید این کد برنامه رو داریم:
    کد:
    Sheets(1).Cells(35, 2).Value = 35
    آیا راهی وجود داره که اگر به دلیل اضافه یا حذف ستون یا سطر در شیت محل درج عدد 35 تغییر کرد، بطور اتوماتیک کد هم آدرس دهیش آپدیت بشه؟ دقیقاً مثل همون اتفاقی که برای فرمول نویسی عادی میفته و وقتی یه فرمول رو از یک سلول به سلول دیگه ای انتقال بدیم، آدرس دهی ها با توجه به جا به جایی آپدیت میشن. مشکلی که الان دارم این هست که اگر بخوام در آینده سطر یا ستونی رو به خروجی اکسل اضافه کنم، باید تمام سطر و ستونهای بعد از اون رو در کدهای VBA مجدداً آدرس دهی کنم.

    با تشکر
    سلام دوست عزيز
    ميتونين براي اون سلول يك name تعريف كنيد و در كدتون به اون نام رفرنس بديد

    کامنت

    • Masih60

      • 2015/11/24
      • 37
      • 40.00

      #3
      نوشته اصلی توسط Amir Ghasemiyan
      سلام دوست عزيز
      ميتونين براي اون سلول يك name تعريف كنيد و در كدتون به اون نام رفرنس بديد
      اگر لینک آموزشش در سایت وجود داره لطف میکنید؟ نتونستم پیدا کنم.

      کامنت

      • حسام بحرانی

        • 2013/09/29
        • 2065
        • 72.00

        #4
        سلام دوست عزیز
        همانطور که آقای قاسمیان گفتند، اگر سلول خودتون ( مثلاً
        B35 ) را به نام فرضی "Mycell" تغییر بدید کد شما بصورت زیر تغییر می کنه:
        کد PHP:
        range("Mycell").Value 35 
        در اینصورت نیازی به رفرنس دادن به شیت نداره و تنها با ارجاع به نام محدوده، تغییرات اعمال میشه.

        با این نامگذاری حتی با افزودن سطرها و ستون ها می توانید دستور خودتون را برای آن محدوده (
        B35 ) ثابت نگهدارید.
        موفق باشید.
        [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
        [/FONT][/B][/CENTER]
        [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
        [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
        [/FONT][/B][/FONT][/SIZE]
        [/CENTER]

        کامنت

        چند لحظه..