ترکیب چند شیت با اطلاعات مشابه 🤔

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • .ArasH.
    • 2020/08/18
    • 3

    پرسش ترکیب چند شیت با اطلاعات مشابه 🤔

    سلام ❤🌹
    شب روزتون بخیر و سلامت 🧡
    من ۵ تا شیتِ تقریبا مشابه برای چندتا انبار دارم. این شیت‌ها اول همه یکسان بودن، یعنی در ابتدا یه فرمِ خام بوده.
    بعدا هر انبارداری با توجه به اموالی که دستشه این‌ها رو پر کرده و اموالی که توی این لیست نبوده رو توی ردیف‌های جدید Insert کرده و نوشته.
    به این شکل:


    - -


    حالا، من باید این شیت‌ها رو ترکیب کنم توی یک شیت و یه جمع کلی بگیرم.
    چطور میتونم این شیت‌ها رو جوری ترکیب کنم که اگه یه کالا توی همهٔ شیت‌ها تکرار شده با بقیه از همون جنس توی یه ردیف قرار بگیره و اگه کالایی توی یکی از شیت‌ها بود و توی بقیه نبود، به آخرِ لیست اضافه بشه.
    میخوام اگه امکانش هست شیت‌ها به یه دونه شیت تبدیل بشن که این‌شکلی باشه:


    خیلی خیلی ممنونم و ببخشید که طولانی شد ❤
    با تشکر از پسرخالهٔ عزیزم برای معرفیِ این انجمن به من :p
  • .ArasH.
    • 2020/08/18
    • 3

    #2
    چیزی که میخوام این شکلیه:
    ایران اکسل.xlsx

    خیلی خــیـــلـــی ممنونم 💙💗🧡
    با تشکر از پسرخالهٔ عزیزم برای معرفیِ این انجمن به من :p

    کامنت

    • M_ExceL

      • 2018/04/23
      • 677

      #3
      سلام،
      در فایل پیوست ابتدا ماکرو را فعال کنید سپس روی باتن 1 کلیک کنید و نتیجه را بررسی کنید
      کد:
      Sub M_ExceL()
      
      Dim COLL As New Collection
      Dim ITM As Variant
      Dim EVALUE As String
      For s = 1 To 5
      LASTR = Sheets(s).Cells(Rows.Count, 2).End(3).Row
          For R = 2 To LASTR
              On Error Resume Next
              EVALUE = Sheets(s).Cells(R, 2).Value
              COLL.Add CStr(EVALUE), CStr(EVALUE)
          Next
      Next
      On Error GoTo 0
      
      I = 3: For Each ITM In COLL: Sheets("SUM").Cells(I, 2) = ITM: I = I + 1: Next
          
      For SM = 3 To COLL.Count + 3
          For s = 1 To 5
              LASTR = Sheets(s).Cells(Rows.Count, 2).End(3).Row
              For I = 2 To LASTR
                  If Sheets(s).Cells(I, 2) = Sheets("SUM").Cells(SM, 2) Then
                      p = Sheets(s).Index * 5
                      U = 3
                      For T = (p - 2) To (p + 2)
                          If Sheets(s).Cells(I, U) <> Empty Then
                              Sheets("SUM").Cells(SM, T) = Sheets(s).Cells(I, U)
                          End If
                          U = U + 1
                      Next
                      Exit For
                  End If
              Next
          Next
      Next
      
      End Sub
      فایل های پیوست شده
      [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
      [/CENTER]

      کامنت

      • .ArasH.
        • 2020/08/18
        • 3

        #4
        نوشته اصلی توسط M_ExceL
        سلام،
        در فایل پیوست ابتدا ماکرو را فعال کنید سپس روی باتن 1 کلیک کنید و نتیجه را بررسی کنید

        خدایا.... 😲
        باورنکردنیه 😨
        چقدرررررر عالیه... الان قیافه‌ام دقیقا این شکلیه:



        این «باتن۱» معجزه می‌کنه!
        خیلی خــیــلـــی ممنووووووونم 🧡
        یه سوالِ دیگه، برای درست کردنِ‌ همین چیزی که زحمت کشیدین درست کردین چه چیزهایی رو باید یاد بگیرم؟ علاقه‌مند شدم بهش 😄
        با تشکر از پسرخالهٔ عزیزم برای معرفیِ این انجمن به من :p

        کامنت

        • M_ExceL

          • 2018/04/23
          • 677

          #5
          با سلام،
          خواهش می کنم
          می بایست با مباحث vba آشنا باشید
          سادست تمرین کنید یاد میگیرید، من خودم هم در حال یادگیری بیشتر هستم
          [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
          [/CENTER]

          کامنت

          چند لحظه..