فعال و غیر فعال کردن لیست کشویی درصورت برقراری شرط

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • mahdi63

    • 2018/06/08
    • 28
    • 54.00

    [حل شده] فعال و غیر فعال کردن لیست کشویی درصورت برقراری شرط

    با سلام و عرض ادب خدمت همه اساتید
    بنده می خوام لیست کشویی سلول های یک ستون بر اساس وجود سه شرط فعال بشه در غیر اینصورت غیر فعال بشه
    به این صورت که مثلا در ردیف چهارم اگه c4 برابر با e4 و مخالف f4 بود ومقدار b6 در شیت 2(که این سلول ثابته و سلول دیگه ای برای مقایسه نداریم) بیشتر از 0 بود لیست کشویی b4 در شیت1 فعال بشه والا در حالت پیش فرض غیر فعال باشه
    اساتید معزز اگه راهنمایی بفرمایند بسیار متشکر می شم
    فایل های پیوست شده
  • mokaram
    مدير تالار اکسل و بانک اطلاعاتی

    • 2011/02/06
    • 1805
    • 74.00

    #2
    فایلتون باز نمی شه.چک بفرمایید.
    [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
    [/CENTER]

    کامنت

    • mahdi63

      • 2018/06/08
      • 28
      • 54.00

      #3
      نوشته اصلی توسط mokaram
      فایلتون باز نمی شه.چک بفرمایید.
      ضمن عرض پوزش
      فایل ارسالی اصلاح شد
      فایل های پیوست شده

      کامنت

      • mahdi63

        • 2018/06/08
        • 28
        • 54.00

        #4
        سلام مجدد
        واقعا کسی نمی تونه منو در فعال یا غیر فعال کردن لیست باکس کمک کنه؟؟!!

        کامنت

        • M_ExceL

          • 2018/04/23
          • 677

          #5
          نوشته اصلی توسط mahdi63
          با سلام و عرض ادب خدمت همه اساتید
          بنده می خوام لیست کشویی سلول های یک ستون بر اساس وجود سه شرط فعال بشه در غیر اینصورت غیر فعال بشه
          به این صورت که مثلا در ردیف چهارم اگه c4 برابر با e4 و مخالف f4 بود ومقدار b6 در شیت 2(که این سلول ثابته و سلول دیگه ای برای مقایسه نداریم) بیشتر از 0 بود لیست کشویی b4 در شیت1 فعال بشه والا در حالت پیش فرض غیر فعال باشه
          اساتید معزز اگه راهنمایی بفرمایند بسیار متشکر می شم
          سلام
          به ترتیب کدهای زیر رو داخل شیت مربوطه قرار بدید :
          کد اول برای شیت اول :
          کد:
          Private Sub Worksheet_Change(ByVal Target As Range)
          If Not Intersect(Target, Me.Range("c4:f34")) Is Nothing Then
           On Error Resume Next
          Application.EnableEvents = False
          For i = 4 To 34
          If Range("c" & i) = Range("e" & i) And Range("c" & i) <> Range("f" & i) And Sheets(2).Range("b6") > 0 Then
              With Range("b" & i).Validation
                  .Delete
                  .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                  xlBetween, Formula1:="=$b$1:$b$2"
                  .IgnoreBlank = True
                  .InCellDropdown = True
                  .InputTitle = ""
                  .ErrorTitle = ""
                  .InputMessage = ""
                  .ErrorMessage = ""
                  .ShowInput = True
                  .ShowError = True
              End With
              Else
              Range("b" & i).Validation.Delete
          End If
          Next i
          End If
          Application.EnableEvents = True
          End Sub
          کد دوم برای شیت دوم :
          کد:
          Private Sub Worksheet_Change(ByVal Target As Range)
          If Not Intersect(Target, Me.Range("b6")) Is Nothing Then
           On Error Resume Next
          Application.EnableEvents = False
          For i = 4 To 34
          If Sheets(1).Range("c" & i) = Sheets(1).Range("e" & i) And Sheets(1).Range("c" & i) <> Sheets(1).Range("f" & i) And Sheets(2).Range("b6") > 0 Then
              With Sheets(1).Range("b" & i).Validation
                  .Delete
                  .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                  xlBetween, Formula1:="=Sheet1!$B$1:$B$2"
                  .IgnoreBlank = True
                  .InCellDropdown = True
                  .InputTitle = ""
                  .ErrorTitle = ""
                  .InputMessage = ""
                  .ErrorMessage = ""
                  .ShowInput = True
                  .ShowError = True
              End With
              Else
              Sheets(1).Range("b" & i).Validation.Delete
          End If
          Next i
          End If
          Application.EnableEvents = True
          End Sub
          در پناه حق.
          فایل های پیوست شده
          [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
          [/CENTER]

          کامنت

          • mahdi63

            • 2018/06/08
            • 28
            • 54.00

            #6
            سلام و سپاس از زحمت شما
            کد رو وارد کردم اما مشکل برطرف نشد ضمن این که لیست باکس هایی که می خوام فعال یا غیرفعال بشن توی چند شیت مختلف هستن
            فایل اصلی کار رو ضمیمه می کنم که اصل کار رو ببینید شاید بتونید مشکل من رو حل کنید
            ممنون
            فایل های پیوست شده

            کامنت

            • M_ExceL

              • 2018/04/23
              • 677

              #7
              نوشته اصلی توسط mahdi63
              سلام و سپاس از زحمت شما
              کد رو وارد کردم اما مشکل برطرف نشد ضمن این که لیست باکس هایی که می خوام فعال یا غیرفعال بشن توی چند شیت مختلف هستن
              فایل اصلی کار رو ضمیمه می کنم که اصل کار رو ببینید شاید بتونید مشکل من رو حل کنید
              ممنون
              سلام
              ببینید این کدی که بالا قرار دادم برای فایلی که شما در پست اولتون ضمیمه کردید هست، اگر دقت کنید فایل رو به همراه کد ضمیمه کردم که به درستی عمل میکنه.
              لیکن سعی کنید در اینگونه موارد فایل اصلیتون رو قرار کنید تا روی فایل اصلیتون کد نویسی صورت بگیره.
              الان هم بنده اگر فرصت شد کد نویسی رو روی فایل اصلیتون پیاده میکنم و اینجا قرار میدم چشم.
              یا حق.
              [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
              [/CENTER]

              کامنت

              • M_ExceL

                • 2018/04/23
                • 677

                #8
                نوشته اصلی توسط mahdi63
                سلام و سپاس از زحمت شما
                لیست باکس هایی که می خوام فعال یا غیرفعال بشن توی چند شیت مختلف هستن
                فایل اصلی کار رو ضمیمه می کنم که اصل کار رو ببینید
                ممنون
                سلام
                کد نویسی رو فایلتون انجام شد، چک کنید مشکلی بود در خدمتم.
                فایل های پیوست شده
                [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                [/CENTER]

                کامنت

                • mahdi63

                  • 2018/06/08
                  • 28
                  • 54.00

                  #9
                  نوشته اصلی توسط M_ExceL
                  سلام
                  ببینید این کدی که بالا قرار دادم برای فایلی که شما در پست اولتون ضمیمه کردید هست، اگر دقت کنید فایل رو به همراه کد ضمیمه کردم که به درستی عمل میکنه.
                  لیکن سعی کنید در اینگونه موارد فایل اصلیتون رو قرار کنید تا روی فایل اصلیتون کد نویسی صورت بگیره.
                  الان هم بنده اگر فرصت شد کد نویسی رو روی فایل اصلیتون پیاده میکنم و اینجا قرار میدم چشم.
                  یا حق.
                  سلام
                  عذر خواهی می کنم فکر نمی کردم دچار مشکل بشم

                  - - - Updated - - -

                  نوشته اصلی توسط M_ExceL
                  سلام
                  کد نویسی رو فایلتون انجام شد، چک کنید مشکلی بود در خدمتم.
                  متاسفانه هنوز مشکل داره!
                  اگرچه برای 7 شیت اول در روزهای جمعه درست کار می کنه اما در روزهای دیگه رو که اطلاعاتش رو شبه تعطیل وارد می کنیم مشکل حل نشده باقیه!
                  در 5 شیت آخر هم که کلا کد کار نمی کنه!

                  کامنت

                  • M_ExceL

                    • 2018/04/23
                    • 677

                    #10
                    نوشته اصلی توسط mahdi63
                    سلام
                    متاسفانه هنوز مشکل داره!
                    اگرچه برای 7 شیت اول در روزهای جمعه درست کار می کنه اما در روزهای دیگه رو که اطلاعاتش رو شبه تعطیل وارد می کنیم مشکل حل نشده باقیه!
                    در 5 شیت آخر هم که کلا کد کار نمی کنه!
                    سلام
                    ببینید کد نویسی بر مبنای 3 شرطی که در پست اول فرمودید انجام شده، لذا توجه به برقرار بودن یا نبورن شروط فوق داشته باشید.
                    بنده الان دوباره چک کردم بدرستی داره عمل میکنه تو همه شیت ها، دوباره به دقت بررسی کنید اگر مشکلی هست دقیق تر بفرمایید، اگر شرط دیگری مد نظرتونه یا چیزی از قلم افتاده
                    کامل و دقیق بفرمایید تا به کد اضافه کنم.
                    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                    [/CENTER]

                    کامنت

                    • mahdi63

                      • 2018/06/08
                      • 28
                      • 54.00

                      #11
                      نوشته اصلی توسط M_ExceL
                      سلام
                      ببینید کد نویسی بر مبنای 3 شرطی که در پست اول فرمودید انجام شده، لذا توجه به برقرار بودن یا نبورن شروط فوق داشته باشید.
                      بنده الان دوباره چک کردم بدرستی داره عمل میکنه تو همه شیت ها، دوباره به دقت بررسی کنید اگر مشکلی هست دقیق تر بفرمایید، اگر شرط دیگری مد نظرتونه یا چیزی از قلم افتاده
                      کامل و دقیق بفرمایید تا به کد اضافه کنم.
                      سلام
                      ممنون از حوصله و وقتی که میذارید
                      من طوری تعریف کردم که وقتی سلول یکی از ایام هفته قرمز میشه اطلاعات مربوط به اون روز مثل روز جمعه صفر میشه اما مشکل اینجاست که لیست اون روز مثل لیست روز جمعه غیر فعال نمیشه ضمن اینکه با صفر کردن اطلاعات مرخصی های تشویقی در شیت آخر همچنان لیست در شیت ماه ها فعاله که باید غیر فعال بشه
                      چیزی که من می خوام اینه که پیش فرض لیست کشویی غیر فعال باشد مگر اینکه کارمند یه روز که سرکار نیامد و ساعت رد نکرد، و طبق اطلاعات شیت آخر مجاز به مرخصی تشویقی بود، لیست کشویی فعال بشه و بتونه مرخصی تشویقی رو انتخاب کنه
                      از پیگیری مجدانه شما ممنونم

                      کامنت

                      • M_ExceL

                        • 2018/04/23
                        • 677

                        #12
                        نوشته اصلی توسط mahdi63
                        سلام
                        ممنون از حوصله و وقتی که میذارید
                        من طوری تعریف کردم که وقتی سلول یکی از ایام هفته قرمز میشه اطلاعات مربوط به اون روز مثل روز جمعه صفر میشه اما مشکل اینجاست که لیست اون روز مثل لیست روز جمعه غیر فعال نمیشه ضمن اینکه با صفر کردن اطلاعات مرخصی های تشویقی در شیت آخر همچنان لیست در شیت ماه ها فعاله که باید غیر فعال بشه
                        چیزی که من می خوام اینه که پیش فرض لیست کشویی غیر فعال باشد مگر اینکه کارمند یه روز که سرکار نیامد و ساعت رد نکرد، و طبق اطلاعات شیت آخر مجاز به مرخصی تشویقی بود، لیست کشویی فعال بشه و بتونه مرخصی تشویقی رو انتخاب کنه
                        از پیگیری مجدانه شما ممنونم
                        سلام، خواهش میکنم
                        مشکل غیر فعال نشدن لیست برای روز های قرمز اصلاح گردید، بعد از قرمز کردن روز مربوطه، روی یکی از سلول های رنج c4:k34 دابل کلیک کنید (تأکید میکنم باز، دابل کلیک کنید) تا تغیرات اعمال بشه.
                        مشکل غیر فعال نشدن لیست در صورت صفر کردن سلول b6 شیت اخر نیز درست گردید.
                        فایل رو چک کنید :
                        فایل های پیوست شده
                        [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                        [/CENTER]

                        کامنت

                        • mahdi63

                          • 2018/06/08
                          • 28
                          • 54.00

                          #13
                          نوشته اصلی توسط M_ExceL
                          سلام، خواهش میکنم
                          مشکل غیر فعال نشدن لیست برای روز های قرمز اصلاح گردید، بعد از قرمز کردن روز مربوطه، روی یکی از سلول های رنج c4:k34 دابل کلیک کنید (تأکید میکنم باز، دابل کلیک کنید) تا تغیرات اعمال بشه.
                          مشکل غیر فعال نشدن لیست در صورت صفر کردن سلول b6 شیت اخر نیز درست گردید.
                          فایل رو چک کنید :
                          سلام
                          ممنون از زحمات وافر شما
                          با صفر کردن دستی b6 در شیت آخر، کد درست کار می کنه اما اگر b6 با فرمول به صفر برسه (که کارمند با هر بار مرخصی تشویقی گرفتن یک عدد از b6 کم بشه ) متاسفانه کد اعمال نمیشه!
                          سوال: فعال و غیر فعال کردن لیست کشویی بدون استفاده از کد VBA امکان پذیر نیست؟ مثلا با فرمول نویسی خود اکسل نمیشه همچین کاری کرد؟

                          کامنت

                          • M_ExceL

                            • 2018/04/23
                            • 677

                            #14
                            نوشته اصلی توسط mahdi63
                            سلام
                            ممنون از زحمات وافر شما
                            با صفر کردن دستی b6 در شیت آخر، کد درست کار می کنه اما اگر b6 با فرمول به صفر برسه (که کارمند با هر بار مرخصی تشویقی گرفتن یک عدد از b6 کم بشه ) متاسفانه کد اعمال نمیشه!
                            سوال: فعال و غیر فعال کردن لیست کشویی بدون استفاده از کد VBA امکان پذیر نیست؟ مثلا با فرمول نویسی خود اکسل نمیشه همچین کاری کرد؟
                            سلام، خواهش میکنم
                            داخل سل b6 فرمولی قرار ندادید که برادر، اگر این فرمول رو بعدش اضافه کردید، فایلتون که حاوی این فرمول هم هست قرار بدید تا دوباره بررسی کنم.
                            تا جایی که بنده اطلاع دارم، این چیزی که شما می خواید بدون کد نویسی vba امکانش نیست.
                            [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                            [/CENTER]

                            کامنت

                            • حسام بحرانی

                              • 2013/09/29
                              • 2065
                              • 72.00

                              #15
                              نوشته اصلی توسط mahdi63
                              ...
                              سوال: فعال و غیر فعال کردن لیست کشویی بدون استفاده از کد vba امکان پذیر نیست؟ مثلا با فرمول نویسی خود اکسل نمیشه همچین کاری کرد؟
                              سلام
                              غیرفعال کردن لیست کشویی بدون استفاده از vba امکان پذیر نیست اما،
                              با ترفندهایی می توان این لیست را از دسترس خارج نمود:
                              در فایل ارسالی و در لیست کشویی شرط گذاشته ایم که اگر شرط ما برقرار بود، لیست کشویی اصلی را نشان دهد و در غیر اینصورت لیستی که کاربر را به سلولی که غیر فعال هست ارجاع دهد.
                              امیدوارم الگوبرداری کنید.

                              ( توضیح اینکه : در فایل پیوستی، با تغییر اعداد در سلول های ستون A,B,C لیست کشویی در ستون D تغییر خواهد کرد )
                              ( توشیح کاملتر : اگر A1 برابر با B1 بود و اگر A1 مخالف C1 بود و نیز B6 در شیت2 مخالف صفر بود؛ شرط برقرار و در غیر اینصورت شرط برقرار نیست )
                              فایل های پیوست شده
                              [CENTER][B][SIZE=5][COLOR=#006600][FONT=georgia][COLOR=#800000]!With [/COLOR][/FONT][/COLOR][COLOR=#006600][FONT=georgia]God [/FONT][/COLOR][COLOR=#006600][FONT=georgia][COLOR=#800000]all [/COLOR][/FONT][/COLOR][COLOR=#800000][FONT=georgia]things are [/FONT][/COLOR][COLOR=#006600][FONT=georgia]possible[/FONT][/COLOR][/SIZE][/B][B][FONT=Tahoma]
                              [/FONT][/B][/CENTER]
                              [CENTER][B][FONT=Tahoma] [IMG]http://forum.exceliran.com/attachment.php?attachmentid=5334&d=1419428336[/IMG]
                              [/FONT][/B][SIZE=1][FONT=Tahoma][B][FONT=Tahoma]
                              [/FONT][/B][/FONT][/SIZE]
                              [/CENTER]

                              کامنت

                              چند لحظه..