eppagh
2016/05/27, 18:05
سلام
اینطور که متوجه شده*م و تا حالا هم همین کار رو کرده*م؛ اگر در VBA اکسل نشانی Range رو با جدول بدیم مانند نمونه زیر:
Range("TableName[ColumnName]").Cells(R,C)
نیازی به اضافه کردن نام شیت در اول نشانی نیست.
توی برنامه خودم یه فانکشن نوشته*م که با این کار می*کنه و در کلاس ازش استفاده کرده*م و مشکلی هم نداره.
ولی وقتی خواستم همین کار رو توی شیت انجام بدم خطا داد:
Run-Time error 1004: Method Range of object _Worksheet faild
چون قبلا همچین مشکلی نداشتم خیلی تعجب کردم و بعد از کلی جستجوی بی*فایده در اینترنت بالاخر با اضافه کردن نام شیت به اول نشانی خطا رفع شد.
Sheet1.Range("TableName[ColumnName]").Cells(R,C)
توضیح این مشکل چیه؟ چون اینهمه در اکسل برنامه نوشته*م هیچوقت با آدرس*دهی با نام جدول نیاز به اضافه کردن نام شیت نداشتم.
اینطور که متوجه شده*م و تا حالا هم همین کار رو کرده*م؛ اگر در VBA اکسل نشانی Range رو با جدول بدیم مانند نمونه زیر:
Range("TableName[ColumnName]").Cells(R,C)
نیازی به اضافه کردن نام شیت در اول نشانی نیست.
توی برنامه خودم یه فانکشن نوشته*م که با این کار می*کنه و در کلاس ازش استفاده کرده*م و مشکلی هم نداره.
ولی وقتی خواستم همین کار رو توی شیت انجام بدم خطا داد:
Run-Time error 1004: Method Range of object _Worksheet faild
چون قبلا همچین مشکلی نداشتم خیلی تعجب کردم و بعد از کلی جستجوی بی*فایده در اینترنت بالاخر با اضافه کردن نام شیت به اول نشانی خطا رفع شد.
Sheet1.Range("TableName[ColumnName]").Cells(R,C)
توضیح این مشکل چیه؟ چون اینهمه در اکسل برنامه نوشته*م هیچوقت با آدرس*دهی با نام جدول نیاز به اضافه کردن نام شیت نداشتم.