چطور ميتونم يك شيت مشخص ، با يك نام مشخص رو طوري با vb قفل كنم كه قابل حذف شدن نباشه ولي بقيه شيتها رو بشه حذف كرد . مثلا من 3 تا شيت دارم sheet1 و sheet2 و sheet3 من ميخوام فقط sheet1 طوري قفل بشه كه نشه حذفش كرد ولي بقيه شيتها رو بشه حذف كرد .
چطور ميشه فقط و فقط يك شيت را طوري قفل كرد كه نشه حذفش كرد !؟
Collapse
X
-
چطور ميشه فقط و فقط يك شيت را طوري قفل كرد كه نشه حذفش كرد !؟
با سلام
چطور ميتونم يك شيت مشخص ، با يك نام مشخص رو طوري با vb قفل كنم كه قابل حذف شدن نباشه ولي بقيه شيتها رو بشه حذف كرد . مثلا من 3 تا شيت دارم sheet1 و sheet2 و sheet3 من ميخوام فقط sheet1 طوري قفل بشه كه نشه حذفش كرد ولي بقيه شيتها رو بشه حذف كرد .[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] -
یا درود
هر چند راه ها ی مختلفی واسه delete کردن شیت وجود داره اما خوب بیا این راه رو امتحان کن ببین در این حد به ارت میاد
1- اول کد زیر رو باید برای ایونت کتیو شدن شیت 1 بنویسیم
2 - برعکس همین کد رو برای دی اکتیو شدن شیت مورد نظ مینویسیمکد:Private Sub Worksheet_Activate() Application.CommandBars("Ply").Enabled = False End Sub
حالا راست کلیک رو این شیت غیر فعال شد.کد:Private Sub Worksheet_Deactivate() Application.CommandBars("Ply").Enabled = True End Sub
بعدش باید کاری کنی که شیت از منو بار هم غیر فعال بشه که میتونی واسه اون شیت یه پسورد بزاری و قفلش کنی و در هنگام قفل کردن یه سری محدودیت هایی رو که داره مل تغییر اطلاعات رو برداری. اینطوری delete از منو بار هم برداشته میشه. اگرم فرم داری نمونه کد خودکار وارد شدن پسورد و دوباره قفل شدن تو سایت هست میتونی استفاده کنی. تست کن ببین اینایی که گفتم به کارت میان
در ضمن پسورد شیت 1 = 1214 هستش. برای محکم کاری میتونی واسه کد های vba هم پسورد بزاری . ولی در کل بگم همیشه یه راه درو هست. چون ما که از مایکرو سافت که ویندوز رو میده بیرون به 12 ساعت نکشیده کرکش میکنن که قویتر نیسیم . ولی بازم این میتونه در اون حد که شما میخواین کار گشا باشهفایل های پیوست شدهدر پناه خداوندگار ایران زمین باشید و پیروز -
تشكر از جوابت ، از هيچي بهتره .یا درود
هر چند راه ها ی مختلفی واسه delete کردن شیت وجود داره اما خوب بیا این راه رو امتحان کن ببین در این حد به ارت میاد
1- اول کد زیر رو باید برای ایونت کتیو شدن شیت 1 بنویسیم
2 - برعکس همین کد رو برای دی اکتیو شدن شیت مورد نظ مینویسیمکد:Private Sub Worksheet_Activate() Application.CommandBars("Ply").Enabled = False End Sub
حالا راست کلیک رو این شیت غیر فعال شد.کد:Private Sub Worksheet_Deactivate() Application.CommandBars("Ply").Enabled = True End Sub
بعدش باید کاری کنی که شیت از منو بار هم غیر فعال بشه که میتونی واسه اون شیت یه پسورد بزاری و قفلش کنی و در هنگام قفل کردن یه سری محدودیت هایی رو که داره مل تغییر اطلاعات رو برداری. اینطوری delete از منو بار هم برداشته میشه. اگرم فرم داری نمونه کد خودکار وارد شدن پسورد و دوباره قفل شدن تو سایت هست میتونی استفاده کنی. تست کن ببین اینایی که گفتم به کارت میان
در ضمن پسورد شیت 1 = 1214 هستش. برای محکم کاری میتونی واسه کد های vba هم پسورد بزاری . ولی در کل بگم همیشه یه راه درو هست. چون ما که از مایکرو سافت که ویندوز رو میده بیرون به 12 ساعت نکشیده کرکش میکنن که قویتر نیسیم . ولی بازم این میتونه در اون حد که شما میخواین کار گشا باشه
فقط چرا تو اكسل 2007 كار نميكنه ولي تو اكسل 2003 كار ميكنه !!!!!!!!!
تو اكسل 2003 هم وقتي sheet ها رو با دكمه ctrl بصورت گروهي انتخاب ميكني دوباره ميشه شيتهارو حذف كرد .
اگر كدهاي ديگه اي به نظرتون رسيد ممنون ميشم همينجا برام بزاريد .[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]کامنت
-
با استفاده از کد زیر میتونی شیت خاصی رو پروتکت کنی
کد PHP:
Public PvSh As String
Public Pwd As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Pwd = "" Then
If Sh.Name = "Sheet2" Then
Num = ActiveWindow.Index
Windows(Num).Visible = False
If Application.InputBox("Enter Password", "Password") <> "123" Then
MsgBox "Incorrect Password", vbCritical, "Error"
Application.EnableEvents = False
Sheets(PvSh).Select
Application.EnableEvents = True
Else
Pwd = "123"
End If
Windows(Num).Visible = True
End If
End If
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
PvSh = Sh.Name
End Sub
[CENTER]
[SIGPIC][/SIGPIC]
[/CENTER]کامنت
-
با درود
من کدو تو 2010 تست کردم ج داد . در ضمن شیت 1 رو قفل کردین.
یه راه دیگه هم اینه که شما شیت مذکور رو veryhide کنین با کد نویسی و اطلاعاتشو با یوزر فرم وارد کنین.در پناه خداوندگار ایران زمین باشید و پیروزکامنت


کامنت