راهنمايي جهت عدم تغيير پس از پرشدن سلول

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • moein306

    • 2015/11/01
    • 5

    #31
    باسلام.مشکل من اینجاست که فرض کنیدکاربراول اطلاعات رودرسطر1وsheet1واردکنه ومیخواداین اطلاعات روقفل کنه تانفربعدی امکان تغییراین اطلاعات رونداشته باشه.حال اگه protect sheetروبزنه وپسوردکلی شیت رووارد کنه،نفردوم برای وارد کردن اطلاعات مثلادرسطردوم باید شیت روunprotectکنه تابتونه اطلاعات روواردکنه که دراین صورت امکان تغییر اطلاعات واردشده توسط کاربراول ممکن میشه.همین اتفاق درباره کاربرسوم می افته.مشکل مااینجاست که محل واردکردن اطلاعات هرنفردرشیت های مختلف تغییرمیکنه.خلاصه کلام اینطوربگم میخواهیم درهرشیت هرکاربری هرکجاخواست(بجزخانه هایی که قبلااطلاعات واردوقفل شده)بتونه اطلاعات واردکنه وباپسوردخودش اون خونه روقفل کنه.بازهم ازشکیبایی تان ممنونم.

    کامنت

    • generalsamad
      مدير تالار توابع

      • 2014/06/22
      • 1496

      #32
      با سلام
      این خواسته شما فکر کنم با vba قابل حل باشه
      چون فرمودید محدوده برای کاربران مشخص نیست (یعنی ممکنه توی هر شیت و در هر سلولی کاربران اطلاعاتی وارد کنند بجز سلولهائی که دارای مقدار باشند)
      یعنی محدودیت برای کاربران سلولهای پر میشه

      شاید دوستان که vba کار میکنند بتونند راهنمائی کنند

      پست 22 رو نگاه کنید
      Last edited by generalsamad; 2015/11/04, 23:57.
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • moein306

        • 2015/11/01
        • 5

        #33
        باسلام وتشکرازبذل توجه تان واینکه درحل مشکلات کاربران صبوری میکنید.
        درپناه لطف حق باشید.

        کامنت

        • hoseiny.m
          • 2015/11/08
          • 4

          #34
          نوشته اصلی توسط misammisam
          چرا جواب نگرفتی ، مفصل در موردش تو سایت بحث شده .
          این فرمولو تو شیتی که میخوای بعد از تایپ درون هر سلول دیگر اون سلول قابل ویرایش نباشه کپی بکنید .
          کد PHP:
          Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          If 
          ActiveCell.Value <> "" Then
          ActiveSheet
          .Protect
          Else
          ActiveSheet.Unprotect
          End 
          If
          End Sub 

          سلام
          ببخشيد ميشه لطفا قدم به قدم بفرماييد كه اين دستورات رو كجا و چه طور بايد در شيت مورد نظر كپي كرد؟
          ممنون

          کامنت

          • khakzad

            • 2010/03/17
            • 2034
            • 85.00

            #35
            سلام
            دوست عزیز وارد محیط کد نویسی بشید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]

            کامنت

            • hoseiny.m
              • 2015/11/08
              • 4

              #36
              نوشته اصلی توسط khakzad
              سلام
              دوست عزیز وارد محیط کد نویسی بشیدAlt+F11
              روی شیتی که میخواید دبل کلیک کنید
              این کد رو اونجا قرا بدید
              سلام و ممنون از توجهتون
              من همين كار رو انجام دادم ولي همچنان اطلاعات قابل تغييرند!
              فايل رو جهت اطلاع پيوست كردم، لطفا ملاحظه كنيد
              دو تا سوال هم داشتم
              1-بعد از درست شدن اين دستور ، اگر بخواهيم براي دادن اجازه ويرايش پسورد خاصي داده شود چكار بايد بكنيم؟
              2-علاوه بر اين دستور ميشود براي ستونهايي از صفحه هم محافظت مازاد ايجاد كرد؟ (ّراي بخشهايي از صفحه از protect sheet استفاده كرد)
              فایل های پیوست شده

              کامنت

              • generalsamad
                مدير تالار توابع

                • 2014/06/22
                • 1496

                #37
                با سلام
                دوست عزیز موقع ذخیره کردن با چه پسوندی فایلتون رو ذخیره میکنید؟
                [CENTER]
                [SIGPIC][/SIGPIC]
                [/CENTER]

                کامنت

                • misammisam
                  مدير تالار حسابداری و اکسل

                  • 2014/04/04
                  • 892
                  • 64.00

                  #38
                  نوشته اصلی توسط hoseiny.m
                  سلام و ممنون از توجهتون
                  من همين كار رو انجام دادم ولي همچنان اطلاعات قابل تغييرند!
                  فايل رو جهت اطلاع پيوست كردم، لطفا ملاحظه كنيد
                  دو تا سوال هم داشتم
                  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]

                  کامنت

                  • hoseiny.m
                    • 2015/11/08
                    • 4

                    #39
                    نوشته اصلی توسط misammisam
                    با سلام
                    دوست عزیز فایلتونو باید با پسنوند 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 فرستادم)
                    متشكر
                    فایل های پیوست شده

                    کامنت

                    • iranweld

                      • 2015/03/29
                      • 3341

                      #40
                      با سلام

                      با توجه به تصویر پیوست بر روی قسمت نشان داده شده کلیک کنید تا کل سلولهای شیت انتخاب گردد و در همان قسمت راست کلیک و سایر مراحل نشان داده شده را انجام دهید
                      فایل های پیوست شده

                      کامنت

                      • hoseiny.m
                        • 2015/11/08
                        • 4

                        #41
                        بسيار از لطف و پاسخ همه دوستان سپاسگذارم
                        خدارو شكر انجام شد

                        کامنت

                        • fotros12

                          • 2015/12/10
                          • 8

                          #42
                          دوستان سلام
                          من یک فایل فروش روزانه دارم که در اولین سلول هر سطر تاریخ فروش ثبت میشه.میخوام وقتی کاربر فروش امروز را با درج تاریخ امروز ثبت کرد فردا نتونه ثبتی های امروز رو تغییربده، به عبارتی دیگر سطر هایی که دارای تاریخ دیروز به قبل هستن قفل بشوند.و فقط خودم با وارد کردن رمز بتونم فایل رو ویرایش کنم.راهی داره؟ممنون
                          فایل های پیوست شده

                          کامنت

                          • amir_ts

                            • 2015/03/17
                            • 1247

                            #43
                            با سلام
                            لینک زیر را ملاحظه کنید.
                            راهنمايي جهت عدم تغيير پس از پرشدن سلول
                            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

                            کامنت

                            • fotros12

                              • 2015/12/10
                              • 8

                              #44
                              ممنون ولی من میخوام کابر بتونه فروش همون روز رو ویرایش کنه،از فرداش قفل بشه

                              یا اینکه بعد از سیو کردن, سلول های پر شده قفل شوند و برای تغییر آنها رمز نیاز باشد
                              Last edited by fotros12; 2016/01/11, 10:58.

                              کامنت

                              • iranweld

                                • 2015/03/29
                                • 3341

                                #45
                                با سلام

                                در فایل پیوست بمحض باز شدن فایل ماکرویی اجرا میگردد که سطرهای تاریخ قبل از روز جاری را قفل مینماید

                                کد PHP:
                                Sub test()

                                Application.ScreenUpdating False
                                Dim X1
                                X2X3Y1Y2Y3 As string

                                k1 
                                Cells(Rows.Count"A").End(xlUp).Row

                                ActiveSheet
                                .Unprotect "password"

                                J_TODAY(1)

                                X1 Left(X4)
                                X2 Mid(X52)
                                X3 Right(X2)


                                For 
                                2 To k1

                                Y1 
                                Left(Range("A" i), 4)
                                Y2 Mid(Range("A" i), 52)
                                Y3 Right(Range("A" i), 2)

                                If 
                                X1 X2 X3 Y1 Y2 Y3 Then

                                For 1 To 7

                                Cells
                                (ij).Select

                                    Selection
                                .Locked True
                                    Selection
                                .FormulaHidden False
                                    
                                    
                                    Next
                                    
                                End 
                                If

                                Next

                                ActiveSheet
                                .Protect "password"

                                Application.ScreenUpdating True

                                Cells
                                (k1 11).Select

                                End Sub 
                                فایل های پیوست شده
                                Last edited by iranweld; 2016/01/11, 13:23.

                                کامنت

                                چند لحظه..