شرط اعلام سلول های خالی و پر - ثبت تاریخ آخرین تغییر سلول

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

    • 2019/11/08
    • 142
    • 38.00

    پرسش شرط اعلام سلول های خالی و پر - ثبت تاریخ آخرین تغییر سلول

    عرض ادب و احترام خدمت دوستان عزیز و اعضای بزرگوار

    دو مورد سوال داشتم از خدمتتون

    مورد اول
    1- ستونی دارم حاوی نام شخص که از سامانه ایی استخراج و کپی میشود میخواهم
    در ستون مجاور (سلول همجوار) اگر سلول خالی بود بنویسد "نقص" و اگر اطلاعات داشت بنویسد "کامل"

    2-در فایل ورود اقلام به انبار که بارکد وارد می شود
    هر وقت اطلاعت وارد سلول شد در سلول همجوار تاریخ جاری را ثبت کند و در صورت ویراش تاریخ آپ دیت شود


    با سپاس و تجدید احترام
  • saed.rasa

    • 2014/11/02
    • 1054

    #2
    سلام

    از پاییین سمت چپ - تنظیمات اضافی - فایل پیوست یک فایل نمونه کوچولو با نتیجه مورد انتظار قرار دهید لطفا
    تا دوستان گرامی در اولین فرصت پاسخ لازم را ارائه دهند

    مرسی
    [FONT=arial][SIZE=3]اگر کسی به شما کمک کرد، سمت راست پایین هر موضوع تیک [COLOR=#0000cd][B]«3پاس»[/B][/COLOR] یادتان نرود لطفا
    اگر مشکل تان حل شد، حتما تیک سبز رنگ [B][COLOR=#00cc00]«حل شد»[/COLOR][/B] در پست اول را بزنید
    [/SIZE][/FONT][SIZE=3][CENTER][FONT=arial]
    [/FONT][/CENTER]
    [/SIZE][FONT=arial][SIZE=3] اگر میخواهید بهتر و دقیق تر و سریع تر به شما کمک شود، یک [COLOR=#ee82ee][B]«فایل نمونه»[/B][/COLOR] قرار دهید
    فایل نمونه: حداکثر [U][COLOR=#ff0000]50 [/COLOR][/U]کیلوبایت - کوتاه، تقریبا [U][COLOR=#ff0000]10 [/COLOR][/U]سطری - به همراه جواب یا خروجی یا نتیجه مورد انتظار[/SIZE][/FONT][CENTER][FONT=arial][COLOR=#0000ff][SIZE=3][SIZE=3][SIZE=3][SIZE=3]مسیر ارسال فایل : پایین سمت چپ - تنظیمات اضافی - فایل پیوست[/SIZE][/SIZE][/SIZE] [/SIZE][/COLOR]
    [/FONT][/CENTER]

    کامنت

    • armey

      • 2019/11/08
      • 142
      • 38.00

      #3
      سلام و سپاس از توجه شما دوست عزیز با احترام فایل نمونه سوال تقدیم می گردد
      فایل های پیوست شده

      کامنت

      • armey

        • 2019/11/08
        • 142
        • 38.00

        #4
        سلام و‌عرض ادب
        دوست کرامی
        فایلی که فرمودید اضافه شد
        منتظر کمک شما عستم

        کامنت

        • armey

          • 2019/11/08
          • 142
          • 38.00

          #5
          نوشته اصلی توسط saed.rasa
          سلام

          از پاییین سمت چپ - تنظیمات اضافی - فایل پیوست یک فایل نمونه کوچولو با نتیجه مورد انتظار قرار دهید لطفا
          تا دوستان گرامی در اولین فرصت پاسخ لازم را ارائه دهند

          مرسی



          سلام و‌عرض ادب
          دوست کرامی
          فایلی که فرمودید اضافه شد
          منتظر کمک شما هستم
          فایل های پیوست شده

          کامنت

          • majid_mx4

            • 2012/06/25
            • 699

            #6
            با سلام
            ضمن تشکر از دوست عزیز جناب آقای saed.rasa
            لطفا فایل ضمیه را بررسی نمایید.

            توضیح : چون بارکد خوان ندارم نمی توان دستورات را چک کنم پس حتما خودتان چک کنید.

            موفق باشید میر
            فایل های پیوست شده

            کامنت

            • armey

              • 2019/11/08
              • 142
              • 38.00

              #7
              نوشته اصلی توسط majid_mx4
              با سلام
              ضمن تشکر از دوست عزیز جناب آقای saed.rasa
              لطفا فایل ضمیه را بررسی نمایید.

              توضیح : چون بارکد خوان ندارم نمی توان دستورات را چک کنم پس حتما خودتان چک کنید.

              موفق باشید میر
              با سلام
              عرض ادب و احترام
              همچنین تشکر بسیار ویژه از زحمات اعضا و دوستان محترم

              فایل ارسالی دارای سه شیت (سه سوال) بود
              شیت اول پاسخ دریافت شد بسیار سپاس گذارم
              شیت دوم پاسخ انجام شد فقط چون هدفم آموختن بود نمیتونم متوجه بشم که کجا و باید چه کاری انجام دهم تا همین محصول(پاسخ) در فایل اصلی خودم هم اجرا شود
              شیت سوم با عرض پوزش و شرمندگی ، گستاخی بنده را ببخشید پاسخی نداشت
              فایل های پیوست شده

              کامنت

              • majid_mx4

                • 2012/06/25
                • 699

                #8
                با سلام

                دوست عزیز سوال شما در شیت 3 برای بنده نامفهوم بوده و برای همین پاسخی برای آن نداشتم و چون خواستم بی پاسخ نباشید دو سوال شمارا پاسخ دادم.
                لطفا نمونه نتیجه را در شیت 3 وارد کنید شماره ردیف کافی نیست البته با کمی توضیح .
                موفق باشید میر

                کامنت

                • armey

                  • 2019/11/08
                  • 142
                  • 38.00

                  #9
                  نوشته اصلی توسط majid_mx4
                  با سلام

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

                  جسارتا آموزش سوال شیت دوم رو نیاز دارم ( هنگام ثبت اطلاعات در یک سلول تاریخ سیستم در سلول مجاور ثبت شود)



                  مورد سه با فرم حل شد هدف این بود در یک شیت اطلاعات وارد شود (مثل فاکتور) که اطلاعاتش در یک شیت منبع ذخیره بشه
                  > فاکتور ثبت بشه وقتی پاکش کردیم برای ثبت فاکتور بعدی اطلاعات در شیت منبع وجود داشته باشه
                  چون عموما فاکتور ثبت و چاپ میشه و نیاز دیگری به فرمش نیست ولی اطلاعاتش نیازه
                  هر مرتبه که یک کالا فروش میره فاکتورش عوض میشه ولی در شیت منبع ذخیره داریم که چه تعداد از هر کالا فروش رفته

                  کامنت

                  • majid_mx4

                    • 2012/06/25
                    • 699

                    #10
                    با سلام
                    خوشحالم که مشکل شیت 3 حل شد و خوشحالتر که خودتان اینکار را انجام دادید.
                    کلید های Alt+F11 را گرفته و ارد محیط برنامه نویسی شوید
                    روی Sheet2 کلیک کرده دستورات را مشاهده خواهید کرد

                    کد:
                    Private Sub Worksheet_Change(ByVal Target As Range)
                    Dim Lastro As Long
                    Lastrow = Sheet2.Cells(Rows.Count, "a").End(3).Row 'پيدا کردن آخرين رديف در ستون A
                    
                     If Not Application.Intersect(Target, Range("E2:E" & Lastrow)) Is Nothing Then '  Eکنترل خالي نبودن  ستون
                     With Application
                                .ScreenUpdating = False
                                .EnableEvents = False
                            End With
                        If Len(Cells(Target.Row, Target.Column)) = 0 Then 'اگر خالي بود
                            Range("o" & Target.Row).ClearContents 'حذف مقدار داخل ستون O
                        Else
                            Range("O" & Target.Row).Value = Now() ' در غير اينصورت تاريخ روز واردشود
                        End If
                            With Application
                                .ScreenUpdating = True
                                .EnableEvents = True
                            End With
                        End If
                       
                    End Sub
                    موفق باشید میر

                    کامنت

                    • armey

                      • 2019/11/08
                      • 142
                      • 38.00

                      #11
                      نوشته اصلی توسط majid_mx4
                      با سلام
                      خوشحالم که مشکل شیت 3 حل شد و خوشحالتر که خودتان اینکار را انجام دادید.
                      کلید های Alt+F11 را گرفته و ارد محیط برنامه نویسی شوید
                      روی Sheet2 کلیک کرده دستورات را مشاهده خواهید کرد

                      کد:
                      Private Sub Worksheet_Change(ByVal Target As Range)
                      Dim Lastro As Long
                      Lastrow = Sheet2.Cells(Rows.Count, "a").End(3).Row 'پيدا کردن آخرين رديف در ستون A
                      
                       If Not Application.Intersect(Target, Range("E2:E" & Lastrow)) Is Nothing Then '  Eکنترل خالي نبودن  ستون
                       With Application
                                  .ScreenUpdating = False
                                  .EnableEvents = False
                              End With
                          If Len(Cells(Target.Row, Target.Column)) = 0 Then 'اگر خالي بود
                              Range("o" & Target.Row).ClearContents 'حذف مقدار داخل ستون O
                          Else
                              Range("O" & Target.Row).Value = Now() ' در غير اينصورت تاريخ روز واردشود
                          End If
                              With Application
                                  .ScreenUpdating = True
                                  .EnableEvents = True
                              End With
                          End If
                         
                      End Sub
                      موفق باشید میر
                      بسیار بسیار بسیار
                      از لطف شما و کلیه دوستان و اعضای بزرگوار سپاس گزارم
                      فرمولی فرموده بودید رو در یفال خودم کپی کردم
                      مشکلی که پیش آمد :
                      فایل من به ردیف هفت هزار رسیده و درخواستم رو یمخواستم زا این سلول به بعد اجرا شود
                      فرمول شما در سلول اول اعمال می شود ولی وقتی به ستون هفتهزار میرسم اجرا نمی شود
                      فکر میکنم ربطی به خط فرمول چک کردن ردیف خالی داشته باشد

                      با سپاس و تجدید احترام

                      کامنت

                      • armey

                        • 2019/11/08
                        • 142
                        • 38.00

                        #12
                        فایلی که در پست بالا اشاره کردم
                        فایل های پیوست شده

                        کامنت

                        • majid_mx4

                          • 2012/06/25
                          • 699

                          #13
                          با سلام

                          دوست عزیز دستور کنترل خالی نبودن ستون با تغییراتی که شما در جابجایی محل تاریخ ایجاد کردید باعث این علت شده است.
                          لذا با بررسی فایل شما (بظاهر) میتوانید دستورات بشکل زیر تغییر دهید .

                          توجه داشته باشید شیت شما شیت 7 است .
                          کد:
                          Private Sub Worksheet_Change(ByVal Target As Range)
                          Dim Lastro As Long
                          Lastrow = Sheet7.Cells(Rows.Count, "F").End(3).Row 'پيدا کردن آخرين رديف در ستون F
                          
                           If Not Application.Intersect(Target, Range("I2:I" & Lastrow)) Is Nothing Then '  Eکنترل خالي نبودن  ستون
                           With Application
                                      .ScreenUpdating = False
                                      .EnableEvents = False
                                  End With
                              If Len(Cells(Target.Row, Target.Column)) = 0 Then 'اگر خالي بود
                                  Range("S" & Target.Row).ClearContents 'حذف مقدار داخل ستون O
                              Else
                                  Range("S" & Target.Row).Value = Now() ' در غير اينصورت تاريخ روز واردشود
                              End If
                                  With Application
                                      .ScreenUpdating = True
                                      .EnableEvents = True
                                  End With
                              End If
                             
                          End Sub
                          موفق باشید میر

                          کامنت

                          • armey

                            • 2019/11/08
                            • 142
                            • 38.00

                            #14
                            نوشته اصلی توسط majid_mx4
                            با سلام

                            دوست عزیز دستور کنترل خالی نبودن ستون با تغییراتی که شما در جابجایی محل تاریخ ایجاد کردید باعث این علت شده است.
                            لذا با بررسی فایل شما (بظاهر) میتوانید دستورات بشکل زیر تغییر دهید .

                            توجه داشته باشید شیت شما شیت 7 است .
                            کد:
                            Private Sub Worksheet_Change(ByVal Target As Range)
                            Dim Lastro As Long
                            Lastrow = Sheet7.Cells(Rows.Count, "F").End(3).Row 'پيدا کردن آخرين رديف در ستون F
                            
                             If Not Application.Intersect(Target, Range("I2:I" & Lastrow)) Is Nothing Then '  Eکنترل خالي نبودن  ستون
                             With Application
                                        .ScreenUpdating = False
                                        .EnableEvents = False
                                    End With
                                If Len(Cells(Target.Row, Target.Column)) = 0 Then 'اگر خالي بود
                                    Range("S" & Target.Row).ClearContents 'حذف مقدار داخل ستون O
                                Else
                                    Range("S" & Target.Row).Value = Now() ' در غير اينصورت تاريخ روز واردشود
                                End If
                                    With Application
                                        .ScreenUpdating = True
                                        .EnableEvents = True
                                    End With
                                End If
                               
                            End Sub
                            موفق باشید میر
                            majid_mx4
                            عزیز بسیار بسیار بسیار سپاسگزارم از لطفتون
                            بزرگواریتون در پاسخ دهی ستودنی هستش
                            امیدوارم همیشه سلامت، موفق، شکیبا باشید
                            فرمول رو کامل متوجه شدم .

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

                            - - - Updated - - -

                            عزیزان امکانش هست این پست هم نظاره کنید

                            فایل های پیوست شده

                            کامنت

                            • majid_mx4

                              • 2012/06/25
                              • 699

                              #15
                              سلام

                              برای تغییر فرمت تاریخ به صورت دلخواه میتوانید فقط این قسمت از دستورات را جایگزین کنید.
                              کد:
                              Range("O" & Target.Row).Value = Format(Now(), "yyyy/mm/dd hh:mm")
                              در مورد پست شما هم متوجه درخواستتان نشدم لطفا با توضیح و مثال بیشتر در فایل اکسل خود در همان پست اقدام تا متوجه درخواستتان بشویم.
                              موفق باشید

                              کامنت

                              چند لحظه..