PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : امنیت فایل



khakzad
2010/08/17, 18:55
با سلام
من یک فایل دارم که می خوام فرمولهای اون شیت تغییر نکنن. از طرفی نمی تونم protect کنم. چون این شیت داینامیک هست و با انتخاب یک گزینه همه اطلاعات تغییر میکنه و این مستلزم این هست که پهنا و ارتفاع سلولها هم تغییر کنه.که در صورت پسورد داشتن این امکان از بین میره.
چکار کنم؟
(هر 2 مورد ضروری هست.هم غیر قابل تغییر بودن محتویات.هم تنظیم پهنای سلول)

m_d6712
2010/08/17, 20:26
می توانید به همین روشی که گفتید شیت 1 خود را Protect کنید.
به وسیله این کد در این شیت و شیت های دیگر و فرم های مورد استفاده برنامه را autoFit کنید.

Private Sub Worksheet_Change(ByVal Target As Range)
Sheet1.Columns.AutoFit
End Sub

khakzad
2010/08/17, 21:24
ممنون.
آیا امکان این وجود داره که پهنای سلول ها ثابت بمونه و بجای فیت کردن از طریق پهن کردن سلول ، متن رو wrap کنه و به اندازه متن ارتفاع سلول رو زیاد کنه؟
(با در نظر گرفتن اینکه شیت کاملا protect شده باشه)

khakzad
2010/08/21, 11:03
با سلام
2تا سوال:
1) همون قبلی، یعنی اینکه ایا امکان اینکه پهنای ستونها ثابت بمونه و متن داخل سلول از طریق wrapکردن و تغییر ارتفاع سلول فیت بشه، وجود داره؟(با فرض پروتکت بودن شیت)
2) اینکه فرمول های داخل فایل اصلا قابل مشاهده نباشه؟

m_d6712
2010/08/21, 18:20
با سلام
2تا سوال:
1) همون قبلی، یعنی اینکه ایا امکان اینکه پهنای ستونها ثابت بمونه و متن داخل سلول از طریق wrapکردن و تغییر ارتفاع سلول فیت بشه، وجود داره؟(با فرض پروتکت بودن شیت)
2) اینکه فرمول های داخل فایل اصلا قابل مشاهده نباشه؟


سوال اول:



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.Parent.Rows.WrapText = True
Target.Parent.Rows.AutoFit
End Sub


اما اگر شیت شما در حالت پروتکت باشه این کارو انجام بدهید:



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect ("password")
Target.Parent.Rows.WrapText = True
Target.Parent.Rows.AutoFit
ActiveSheet.Protect ("password")
End Sub



سوال دوم: روی سلول راست کلیک کنید. Format Cell رو بزنید! قسمت Protection گزینه Hidden رو انتخاب کنید. سپس به بخش Review بروید و ProtectSheet رو انتخاب کنید.

khakzad
2010/08/21, 18:54
ممنون.لطف کردین.
ببخشیدا!
اما مگه این کد خودش اجرا نمیشه؟
یعنی کافی نیست که من اینو در یک module داشته باشم؟:blush:
ببخشید که تازه کارم:huh: