واحد های فروش اتوماتیک در فاکتور

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

    • 2021/01/11
    • 43

    پرسش واحد های فروش اتوماتیک در فاکتور

    سلام
    در فاکتور فروش و لیست فاکتور سه سلول دارم به ترتیب :
    واحد فرعی واحد اصلی تعداد
    مثلا 50 بسته 20 تایی میشه 1000 عدد
    میخوام وقتی جوری باشه که دو سلول رو پر میکنم سلول سوم خودش اتومات پر بشه
    مثلا بنویسم 50 ----- 20 ----- 1000 رو خودش بیاره
    و وقتی هم بنویسم .......... -------20 --------- 1000 در سلول اول 50 رو خودش بیاره
    یا مثلا بنویسم 50 ------- ................. ----------- 1000 در سلول وسطی 20 رو خودش بیاره
  • 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]

    کامنت

    • ali_nmt

      • 2021/01/11
      • 43

      #3
      بله حتما خدمت شما :


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

      میشه خواهش کنم ی فایل نمونه همراه مثال قرار دهید لطفا

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

      کامنت

      • saed.rasa

        • 2014/11/02
        • 1054

        #4
        سلام

        راستش، من خودم هم همین مشکل دارم و خوشحال می شوم به من هم دوستان کمک کنند

        به نظر میاد این کار در اکسل امکان پذیر نمی باشد
        راه آخر vba است که من بلد نیستم
        از دوستان خواهش می کنم که ما را راهنمایی فرمایند لطفا

        مرسی
        [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]

        کامنت

        • yuri

          • 2021/02/17
          • 43

          #5
          با دو سه ساعت آموزش vba تونستم این کد رو بنویسم

          کد:
          Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          On Error Resume Next
          Dim x As Integer
          For x = 2 To 7
             If Cells(x, 3).Value = "" Or Cells(x, 1).Value > 0 Or Cells(x, 2).Value > 0 Then
             Cells(x, 3).Value = Cells(x, 1).Value * Cells(x, 2).Value
                  ElseIf Cells(x, 2).Value = "" Or Cells(x, 1).Value > 0 Or Cells(x, 3).Value > 0 Then
                  Cells(x, 2).Value = Cells(x, 3).Value / Cells(x, 1).Value
                        ElseIf Cells(x, 1).Value = "" Or Cells(x, 2).Value > 0 Or Cells(x, 3).Value > 0 Then
                        Cells(x, 1).Value = Cells(x, 3).Value / Cells(x, 2).Value
              End If
              Next x
          End Sub
          Click image for larger version

Name:	Capture2.PNG
Views:	1
Size:	97.3 کیلو بایت
ID:	138778
          Last edited by yuri; 2021/05/08, 03:30.

          کامنت

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

            • 2014/06/22
            • 1496

            #6
            با سلام
            کدتون رو اصلاح کنید به جای or از and استفاده کنید
            کد PHP:
            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            On Error Resume Next
            Dim x 
            As Integer
            For 2 To 7
                
            If Cells(x3).Value "" And Cells(x1).Value And Cells(x2).Value 0 Then
                    Cells
            (x3).Value Cells(x1).Value Cells(x2).Value
                End 
            If
                If 
            Cells(x2).Value "" And Cells(x1).Value And Cells(x3).Value 0 Then
                    Cells
            (x2).Value Cells(x3).Value Cells(x1).Value
                End 
            If
                If 
            Cells(x1).Value "" And Cells(x2).Value And Cells(x3).Value 0 Then
                    Cells
            (x1).Value Cells(x3).Value Cells(x2).Value
                End 
            If
            Next x
            End Sub 
            [CENTER]
            [SIGPIC][/SIGPIC]
            [/CENTER]

            کامنت

            • yuri

              • 2021/02/17
              • 43

              #7
              اولش and بود و مشکلی که داشت به روز نمیشد یعنی 5 ضربدر 1 میکردم جواب رو میاورد 5 و بعدش میخواستم ویرایش کنم یعنی مثلا 5 رو ضرب در 5 کنم جواب همون 5 میموند و باید یکبار روی جواب دلت میکردم تا آپدیت میشد (یعنی 5 * 5 میشد 25)
              and ها رو تبدیل به or کردم ولی این دفعه مشکل دیگه ای درست شد یه کد طولانی دیگه نوشتم باز هم کامل نبود
              اگر امکانش هست شما تکمیلش کنید
              نمیدونم شاید توابع دیگه ای لازم هست که من بلد نیستم یا شاید هم با همین ترکیبات و تغییرات داخلش قابل حل هست
              من در اینجا جدول معمولی با تعداد سطر معلوم رو مثال زدم که x رو 2 تا 7 در نظر گرفتم ولی معمولا تیبل ایجاد میکنیم و تعداد سطر ها شاید تا هزاران مورد هم برسه

              نوشته اصلی توسط generalsamad
              با سلام
              کدتون رو اصلاح کنید به جای or از and استفاده کنید
              کد PHP:
              Private Sub Worksheet_SelectionChange(ByVal Target As Range)
              On Error Resume Next
              Dim x 
              As Integer
              For 2 To 7
                  
              If Cells(x3).Value "" And Cells(x1).Value And Cells(x2).Value 0 Then
                      Cells
              (x3).Value Cells(x1).Value Cells(x2).Value
                  End 
              If
                  If 
              Cells(x2).Value "" And Cells(x1).Value And Cells(x3).Value 0 Then
                      Cells
              (x2).Value Cells(x3).Value Cells(x1).Value
                  End 
              If
                  If 
              Cells(x1).Value "" And Cells(x2).Value And Cells(x3).Value 0 Then
                      Cells
              (x1).Value Cells(x3).Value Cells(x2).Value
                  End 
              If
              Next x
              End Sub 

              کامنت

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

                • 2014/06/22
                • 1496

                #8
                ببینید همین مد نظرتون هست؟
                کد PHP:
                Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                On Error Resume Next
                Dim x
                LastRow As Integer
                LastRow 
                Cells.Find("*"searchorder:=xlByRowssearchdirection:=xlPrevious).Row
                For 2 To LastRow
                    
                If Cells(x3).Value "" And Cells(x1).Value And Cells(x2).Value 0 Then
                        Cells
                (x3).Value Cells(x1).Value Cells(x2).Value
                    End 
                If
                    If 
                Cells(x2).Value "" And Cells(x1).Value And Cells(x3).Value 0 Then
                        Cells
                (x2).Value Cells(x3).Value Cells(x1).Value
                    End 
                If
                    If 
                Cells(x1).Value "" And Cells(x2).Value And Cells(x3).Value 0 Then
                        Cells
                (x1).Value Cells(x3).Value Cells(x2).Value
                    End 
                If
                Next x
                End Sub 
                [CENTER]
                [SIGPIC][/SIGPIC]
                [/CENTER]

                کامنت

                • yuri

                  • 2021/02/17
                  • 43

                  #9
                  درسته همینه فقط نمیشه اسم تیبل با اسم ستون رو بهش داد؟ به جای اینکه بنویسم (x,1) بنویسم (فروش[تعدادجز] , x) ؟
                  و اینکه اگر امکانش هست مشکل این کد رو هم که در کامنت قبلی گفتم رو درست کنید


                  نوشته اصلی توسط generalsamad
                  ببینید همین مد نظرتون هست؟
                  کد PHP:
                  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                  On Error Resume Next
                  Dim x
                  LastRow As Integer
                  LastRow 
                  Cells.Find("*"searchorder:=xlByRowssearchdirection:=xlPrevious).Row
                  For 2 To LastRow
                      
                  If Cells(x3).Value "" And Cells(x1).Value And Cells(x2).Value 0 Then
                          Cells
                  (x3).Value Cells(x1).Value Cells(x2).Value
                      End 
                  If
                      If 
                  Cells(x2).Value "" And Cells(x1).Value And Cells(x3).Value 0 Then
                          Cells
                  (x2).Value Cells(x3).Value Cells(x1).Value
                      End 
                  If
                      If 
                  Cells(x1).Value "" And Cells(x2).Value And Cells(x3).Value 0 Then
                          Cells
                  (x1).Value Cells(x3).Value Cells(x2).Value
                      End 
                  If
                  Next x
                  End Sub 

                  کامنت

                  • smartman

                    • 2012/01/18
                    • 170

                    #10
                    دقت کنید کدهایی که در ایونت Worksheet_SelectionChange می‌نویسید تا مقادیر سلول‌ها را تغییر دهند، باعث از دست رفتن عملکرد Undo می‌شوند که گاها این موضوع منجر به نتایج فاجعه‌باری می‌شود.
                    توصیه من این است که حتی‌الامکان از سلول‌های کمکی و Named Range یا روش‌های دیگری استفاده کنید.

                    کامنت

                    • yuri

                      • 2021/02/17
                      • 43

                      #11
                      متاسفانه من فقط دو سه روزه دارم با vba کار میکنم و متوجه حرف های شما نشدم
                      اگر امکانش هست کد رو برام اصلاح کنید


                      نوشته اصلی توسط smartman
                      دقت کنید کدهایی که در ایونت Worksheet_SelectionChange می‌نویسید تا مقادیر سلول‌ها را تغییر دهند، باعث از دست رفتن عملکرد Undo می‌شوند که گاها این موضوع منجر به نتایج فاجعه‌باری می‌شود.
                      توصیه من این است که حتی‌الامکان از سلول‌های کمکی و Named Range یا روش‌های دیگری استفاده کنید.

                      کامنت

                      • saed.rasa

                        • 2014/11/02
                        • 1054

                        #12
                        سلام

                        Smartman عزیز و گرامی

                        اگر فکر می کنید با سلول کمکی یا Name Maneger این کار امکان پذیر است نمونه مثال در اکسل ارائه دهید لطفا

                        مرسی
                        دقت کنید کدهایی که در ایونت Worksheet_SelectionChange می‌نویسید تا مقادیر سلول‌ها را تغییر دهند، باعث از دست رفتن عملکرد Undo می‌شوند که گاها این موضوع منجر به نتایج فاجعه‌باری می‌شود.
                        توصیه من این است که حتی‌الامکان از سلول‌های کمکی و Named Range یا روش‌های دیگری استفاده کنید.
                        [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]

                        کامنت

                        چند لحظه..