باسلام.مشکل من اینجاست که فرض کنیدکاربراول اطلاعات رودرسطر1وsheet1واردکنه ومیخواداین اطلاعات روقفل کنه تانفربعدی امکان تغییراین اطلاعات رونداشته باشه.حال اگه protect sheetروبزنه وپسوردکلی شیت رووارد کنه،نفردوم برای وارد کردن اطلاعات مثلادرسطردوم باید شیت روunprotectکنه تابتونه اطلاعات روواردکنه که دراین صورت امکان تغییر اطلاعات واردشده توسط کاربراول ممکن میشه.همین اتفاق درباره کاربرسوم می افته.مشکل مااینجاست که محل واردکردن اطلاعات هرنفردرشیت های مختلف تغییرمیکنه.خلاصه کلام اینطوربگم میخواهیم درهرشیت هرکاربری هرکجاخواست(بجزخانه هایی که قبلااطلاعات واردوقفل شده)بتونه اطلاعات واردکنه وباپسوردخودش اون خونه روقفل کنه.بازهم ازشکیبایی تان ممنونم.
راهنمايي جهت عدم تغيير پس از پرشدن سلول
Collapse
X
-
با سلام
این خواسته شما فکر کنم با vba قابل حل باشه
چون فرمودید محدوده برای کاربران مشخص نیست (یعنی ممکنه توی هر شیت و در هر سلولی کاربران اطلاعاتی وارد کنند بجز سلولهائی که دارای مقدار باشند)
یعنی محدودیت برای کاربران سلولهای پر میشه
شاید دوستان که vba کار میکنند بتونند راهنمائی کنند
پست 22 رو نگاه کنید
Last edited by generalsamad; 2015/11/04, 23:57.[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
چرا جواب نگرفتی ، مفصل در موردش تو سایت بحث شده .
این فرمولو تو شیتی که میخوای بعد از تایپ درون هر سلول دیگر اون سلول قابل ویرایش نباشه کپی بکنید .
کد PHP:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Value <> "" Then
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
End If
End Sub
سلام
ببخشيد ميشه لطفا قدم به قدم بفرماييد كه اين دستورات رو كجا و چه طور بايد در شيت مورد نظر كپي كرد؟
ممنونکامنت
-
سلام
دوست عزیز وارد محیط کد نویسی بشیدAlt+F11
روی شیتی که میخواید دبل کلیک کنید
این کد رو اونجا قرا بدید[CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:
[URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
[URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
:wcom:
[B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
[EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
[/CENTER]کامنت
-
من همين كار رو انجام دادم ولي همچنان اطلاعات قابل تغييرند!
فايل رو جهت اطلاع پيوست كردم، لطفا ملاحظه كنيد
دو تا سوال هم داشتم
1-بعد از درست شدن اين دستور ، اگر بخواهيم براي دادن اجازه ويرايش پسورد خاصي داده شود چكار بايد بكنيم؟
2-علاوه بر اين دستور ميشود براي ستونهايي از صفحه هم محافظت مازاد ايجاد كرد؟ (ّراي بخشهايي از صفحه از protect sheet استفاده كرد)فایل های پیوست شدهکامنت
-
با سلام
دوست عزیز موقع ذخیره کردن با چه پسوندی فایلتون رو ذخیره میکنید؟[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
سلام و ممنون از توجهتون
من همين كار رو انجام دادم ولي همچنان اطلاعات قابل تغييرند!
فايل رو جهت اطلاع پيوست كردم، لطفا ملاحظه كنيد
دو تا سوال هم داشتم
1-بعد از درست شدن اين دستور ، اگر بخواهيم براي دادن اجازه ويرايش پسورد خاصي داده شود چكار بايد بكنيم؟
2-علاوه بر اين دستور ميشود براي ستونهايي از صفحه هم محافظت مازاد ايجاد كرد؟ (ّراي بخشهايي از صفحه از protect sheet استفاده كرد)
دوست عزیز فایلتونو باید با پسنوند xlsm ذخیره کنید ، که ماکروها در فایلتون ذخیره بشن ، در حال حاضر ماکرویی در فایل نیست .
برای گذاشتن رمز جهت ویرایش هم باید به شکل زیر تغییرش بدهید ( اینجا الان رمز 123 هست )
کد PHP:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Value <> "" Then
ActiveSheet.Protect "123"
Else
ActiveSheet.Unprotect "123"
End If
End Sub
فایل های پیوست شده[CENTER][SIGPIC][/SIGPIC]
[/CENTER]
[CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
[CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
[/CENTER]
[/INDENT]
[/FONT][/FONT][/FONT][/FONT][/FONT]
[/CENTER]کامنت
-
با سلام
دوست عزیز فایلتونو باید با پسنوند xlsm ذخیره کنید ، که ماکروها در فایلتون ذخیره بشن ، در حال حاضر ماکرویی در فایل نیست .
برای گذاشتن رمز جهت ویرایش هم باید به شکل زیر تغییرش بدهید ( اینجا الان رمز 123 هست )
کد PHP:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Value <> "" Then
ActiveSheet.Protect "123"
Else
ActiveSheet.Unprotect "123"
End If
End Sub
بسيار ممنون از راهنماي هاي دوستان عزيز
من مجدد دستور رو وارد كردم و فايل رو با پسوندxlsm هم ذخيره كردم اما در اين شيت (شيت .P.R) اعمال نشد!
جالبه كه در همين فايل شيت جديدي باز كردم (sheet1)و براي آن دستور رو ايجاد كردم فعال بود!
فايل رو جهت بررسي دوستان فرستادم (البته فايل فرمت xlsm بود ولي چون نميشد با اون فرمت آپلود كرد با فرمت xls فرستادم)
متشكرفایل های پیوست شدهکامنت
-
دوستان سلام
من یک فایل فروش روزانه دارم که در اولین سلول هر سطر تاریخ فروش ثبت میشه.میخوام وقتی کاربر فروش امروز را با درج تاریخ امروز ثبت کرد فردا نتونه ثبتی های امروز رو تغییربده، به عبارتی دیگر سطر هایی که دارای تاریخ دیروز به قبل هستن قفل بشوند.و فقط خودم با وارد کردن رمز بتونم فایل رو ویرایش کنم.راهی داره؟ممنونفایل های پیوست شدهکامنت
-
با سلام
لینک زیر را ملاحظه کنید.
راهنمايي جهت عدم تغيير پس از پرشدن سلول[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]کامنت
-
با سلام
در فایل پیوست بمحض باز شدن فایل ماکرویی اجرا میگردد که سطرهای تاریخ قبل از روز جاری را قفل مینماید
کد PHP:Sub test()
Application.ScreenUpdating = False
Dim X1, X2, X3, Y1, Y2, Y3 As string
k1 = Cells(Rows.Count, "A").End(xlUp).Row
ActiveSheet.Unprotect "password"
X = J_TODAY(1)
X1 = Left(X, 4)
X2 = Mid(X, 5, 2)
X3 = Right(X, 2)
For i = 2 To k1
Y1 = Left(Range("A" & i), 4)
Y2 = Mid(Range("A" & i), 5, 2)
Y3 = Right(Range("A" & i), 2)
If X1 & X2 & X3 > Y1 & Y2 & Y3 Then
For j = 1 To 7
Cells(i, j).Select
Selection.Locked = True
Selection.FormulaHidden = False
Next
End If
Next
ActiveSheet.Protect "password"
Application.ScreenUpdating = True
Cells(k1 + 1, 1).Select
End Sub
فایل های پیوست شدهLast edited by iranweld; 2016/01/11, 13:23.کامنت
کامنت