سوال :

ميخوام فرمي بسازم كه اطلاعات توسط اين فرم به شيت منتقل بشه البته اكسل يه فرمي در اختيار ما قرار ميده كه زياد جالب نيست و نميتوان آيتمها را جابجا و يا تغيير رنگ ويا كار ديگري كرد و همچنين كاربر با باز كردن فايل اين فرم را ببيند و اطلاعات و داده هاي داخل فايل ديده نشوند

جواب:

سلام
من هم مدتی با این موضوع کلنجار رفتم وحتی از استاد کلاس هم نتیجه دلخواهم را نگرفتم (شاید بلد بود ولی خسیس بود) ولی عاقبت توانستم ،نکات زیر را جهت راهنمایی در حد بضاعت خودم تقدیم می کنم .
1- فرمها معمولا به صورت عمودی هستند اما لیست ها به صورت افقی هستند پس اول باید فرم ورودی را در جای دیگری به حالت افقی(ردیف) دربیاوریم
2- مرحله بعد بایستی این ردیف را به جای دیگری(مثلا یک شیت دیگر) کپی کنیم اما در رکورد بعدی بایستی مقادیر به یک ردیف پایینتر کپی شوند در اینجا بایستی ماکرو مربوط به این کار را تهیه کنی واستفاده از دستور آدرس دهی غیر مستقیم
"indirect" در این قسمت یکی از نکات کلیدی است
3-1:باید اعتراف کنم من زیاد برنامه نویسی بلد نیستم ولی کار با ماکرو زیاد هم سخت نیست کافیه از قسمت record new macro/macro/toolsیک بار کاری را که می خواهی انجام بدهی ،ضبط کنی بعد ماکرو را ویرایش کنی به جای آدرس سلولهای مقصد از آدرس دهی غیر مستقیم استفاده کن
3- خوب بعد از انتقال داده ها باید اطلاعات فرم را پاک وجهت رکورد بعدی آماده شود که این هم در ماکرو بالا بایستی پیش بینی شود
4- اگر نمونه این کار را خواستی می توانی از  دانلود کنی

http://www.screencast.com/t/YtTjvHLhFyk
پسورد:nama