نه اتفاقا سوال بجایی بود. البته من متوجه شدم که label اصلا نمی تواند active شود.نوشته اصلی توسط mahasa shayesteh
متاسفانه این ایراد از من بود. خیلی با قوانین VBA آشنا نیستم. گاهی وقتا رکب می خورم.
اما در صورتی که از textbox استفاده می کنید می توانید از این روش استفاده کنید.
در برخی مواقع خود مفسر قادر به تشخیص دگر شکل های یک شی می باشد. که معمولا در اکسل این طور هست. (خیلی وقتا خودتون تجربه کردید همه چیزو میشه تبدیل کنین به چیزای دیگه). اما گاهی وقتا این اتفاق نمی افتد و ارور خواهید دید. حداقل واسه اون موقع ها اطلاعاتی کسب کردید.
اما در این مورد خاص اکسل دگرشکل رو تشخیص میده. خوب یک مقدار بد هست!!!! از لحاظ برنامه نویسی خطای منطقی برنامه شما رو خیلی بالا می برد. بهتر است اصولی کار کنید و از دگرریختی همون طور که توضیح دادم استفاده کنید.
همان طور که شما فرمودید MsgBox Me.ActiveControl.Text جواب می دهد و مشکلی ندارد.
اما text از مشخصه های پیش فرض نیست و ممکن است نابجا استفاده بشه و خطا ایجاد کنه.
از آنجایی که VBA با نسخه VB6 هماهنگ شده این اتفاقات خیلی زیاد رخ میدهد.
اما در نسخه های بعدی ویژوال بیسیک 2003-2010 این فرآیند تصحیح شده و امکان پذیر نیست.
ممنون خانم شایسته، اصرار شما باعث شد اشتباه خودم رو اصلاح کنم.
موفق باشید.
علاقه مندی ها (Bookmarks)