خلاصه کردن فرمول

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • leilaasgharpour@ymail.com

    • 2013/12/23
    • 130

    خلاصه کردن فرمول

    سلام 5 محصول دارم باشرایط خاص مثلا با تخفیف، با برگشت کالا، اقساطی و ..... در فرمی اطلاعات وارد میشود که بعد ازورود اطلاعات وصدور فاکتور (sheet3) ، اطلاعات در شیت 11 ذخیره میشود
    برای اینکه امکان جستجو بعدا محدود شود.اطلاعات هرکدام از محصولات در ستونهای مختلف ذخیره میشود مثلا محصول شماره 1 در ردیفهایa:k و محصول2 در ردیفهای m:y و... اما فرمول نوشته شده طولانی شده وپیام خطا میدهد ایا راه ساده تر و کوتاه تری هست؟ قسمتی از فرمول در زیر امده (برای محصول1) واین روند برای سایر محصولها ادامه دارد.ممنون
    Sheets("sheet11").Activate

    num = Application.WorksheetFunction.CountA(Range("A:A")) + 1
    If Sheet3.Range("c6") = "محصول1" Then
    Sheet11.Range("a3:k3").Cells(num, 1) = Sheet3.Range("A4").Text

    Sheet11.Range("a3:k3").Cells(num, 2) = Sheet3.Range("b14").Text

    Sheet11.Range("a3:k3").Cells(num, 3) = Sheet3.Range("b13").Text
    Sheet11.Range("a3:k3").Cells(num, 4) = Sheet3.Range("C5").Text
    Sheet11.Range("a3:k3").Cells(num, 5) = Sheet3.Range("C4").Text
    Sheet11.Range("a3:k3").Cells(num, 6) = Sheet3.Range("C6").Text



    num = Application.WorksheetFunction.CountA(Range("A:A")) + 1

    If Sheet3.Range("C15").Text <> "" And Sheet2.Range("i1") = True Then
    Sheet11.Range("a3:k3").Cells(num, 1) = Sheet3.Range("a4")
    Sheet11.Range("a3:k3").Cells(num, 2) = Sheet3.Range("d15")
    Sheet11.Range("a3:k3").Cells(num, 3) = Sheet3.Range("c15")
    Sheet11.Range("a3:k3").Cells(num, 5) = Sheet2.Range("b12")
    Sheet11.Range("a3:k3").Cells(num, 6) = Sheet3.Range("c6")
    Sheet11.Range("a3:k3").Cells(num, 4) = Sheet3.Range("c5")
    End If
    num = Application.WorksheetFunction.CountA(Range("A:A")) + 1

    If Sheet3.Range("C15").Text <> 0 And Sheet2.Range("i1") = True And Sheet2.Range("c12") <> 0 Then
    Sheet11.Range("a3:k3").Cells(num, 1) = Sheet3.Range("a4")
    Sheet11.Range("a3:k3").Cells(num, 2) = Sheet3.Range("d15")
    Sheet11.Range("a3:k3").Cells(num, 3) = Sheet3.Range("c15")
    Sheet11.Range("a3:k3").Cells(num, 5) = Sheet2.Range("c12")
    Sheet11.Range("a3:k3").Cells(num, 6) = Sheet3.Range("c6")
    Sheet11.Range("a3:k3").Cells(num, 4) = Sheet3.Range("c5")
    End If
    num = Application.WorksheetFunction.CountA(Range("A:A")) + 1

    If Sheet3.Range("C15").Text <> "" And Sheet2.Range("i1") = True And Sheet2.Range("d12") <> 0 Then
    Sheet11.Range("a3:k3").Cells(num, 1) = Sheet3.Range("a4")
    Sheet11.Range("a3:k3").Cells(num, 2) = Sheet3.Range("d15")
    Sheet11.Range("a3:k3").Cells(num, 3) = Sheet3.Range("c15")
    Sheet11.Range("a3:k3").Cells(num, 5) = Sheet2.Range("d12")
    Sheet11.Range("a3:k3").Cells(num, 6) = Sheet3.Range("c6")
    Sheet11.Range("a3:k3").Cells(num, 4) = Sheet3.Range("c5")
    End If
    num = Application.WorksheetFunction.CountA(Range("A:A")) + 1

    If Sheet3.Range("C15").Text <> "" And Sheet2.Range("e12") <> 0 And Sheet2.Range("i1") = True Then
    Sheet11.Range("a3:k3").Cells(num, 1) = Sheet3.Range("a4")
    Sheet11.Range("a3:k3").Cells(num, 2) = Sheet3.Range("d15")
    Sheet11.Range("a3:k3").Cells(num, 3) = Sheet3.Range("c15")
    Sheet11.Range("a3:k3").Cells(num, 5) = Sheet2.Range("e12")
    Sheet11.Range("a3:k3").Cells(num, 6) = Sheet3.Range("c6")
    Sheet11.Range("a3:k3").Cells(num, 4) = Sheet3.Range("c5")
    End If
  • ~M*E*H*D*I~

    • 2011/10/19
    • 4374

    #2
    بهتره کاری که میخواید انجام بدید توضیح بدید و از این کدها صرف نظر کنید تا با روش های بهتری راهنمایی بشید

    sigpic

    کامنت

    • alieddy0

      • 2011/07/21
      • 141

      #3
      نوشته اصلی توسط ~M*E*H*D*I~
      بهتره کاری که میخواید انجام بدید توضیح بدید و از این کدها صرف نظر کنید تا با روش های بهتری راهنمایی بشید
      بنده با آقا مهدي موافقم چون احتمالا براي انجام كار مورد نظر شما از فرمول هاي داخلي اكسل راحت تر ميشه استفاده كرد و نيازي به اين حجم استفاده از كد نيست

      کامنت

      • leilaasgharpour@ymail.com

        • 2013/12/23
        • 130

        #4
        سلام توضیح دادم یه سری اطلاعات در شیت ۳ محاسبه میشه که با توجه به نوع محصول شماره ۱الی ۶ در شیت ۱۱ در خانه های مربوط به خودشان باید ذخیره بشن

        کامنت

        • khakzad

          • 2010/03/17
          • 2034

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

          کامنت

          • leilaasgharpour@ymail.com

            • 2013/12/23
            • 130

            #6
            سلام ممنونم.فایل ازمایشی را پیوست کردمazmayesh.xlsm

            کامنت

            • khakzad

              • 2010/03/17
              • 2034

              #7
              بله
              همونطور که گفتم ساختار دیتابیس اشتباس
              شما در شیت 11 فقط باید یکی از اون جدول ها رو داشته باشید و یک ستون محصول اضافه کنید بهش و بقیه رو پاک کنید
              در این صورت یک جدول خواهید داشت.
              کدنویسی و فرمول نویسی راحت تر و منطقی تری خواهید داشت
              بعد که این کا ررو کردید. کدهای زیادی در مورد ثبت داده ها و . . .موجود هست توی سایت.سرچ کنید پیدا می کنید. کدهای مربوط به ثبت اطلاعات در اخرین ردیف مجموعه

              شروع کنید.سوالی بود در خدمتم

              کامنت

              Working...