صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 12

موضوع: انتقال اطلاعات از دوشیت به یک شیت بصورت خاص !

  1. #1


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    انتقال اطلاعات از دوشیت به یک شیت بصورت خاص !

    با سلام و احترام خدمت اساتید و دوستان عزیز
    درخواست راهنمایی و ماکرویی جهت انتقال اطلاعات از دوشیت به یک شیت بصورت خاصی را دارم ، خیلی ممنون میشم اگر امکان داشته باشه ، توجه و بررسی نمایید.
    در این فایل سه شیت در اختیار داریم : Home , a , b
    اطلاعات رکورد های شیت a و b تقریبا یکی هست و وجه اشتراکشون شماره چک می باشد. لازم به ذکر هست که بعضی چک ها فقط در a هست و بعضی فقط در b و بعضی دیگر در هر دو شیت a و b .
    من قبلا در شیت a شماره چک هایی که در b بود رو پیدا می کردم و در نهایت در b فیلنتر می کردم چک هایی که در هر دو شیت وجود داشتند و کپی کرده و اونها رو می آوردم در home .

    اما الان علاوه بر انتقال اطلاعات بصورت فوق به دو تغییر دیگه نیاز دارم:
    1- رکورد هایی که فقط در a و یا فقط در b هستند نیز به انتهای جدول home هم منتقل شوند
    2- در ستون توضیحات در home درج بشه که رکورد مربوطه در کدام جدول بوده ! ( فقط در a یا فقط در b و یا موجود در هر دو جدول )
    با تشکر فراوان از اساتید عزیز

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  A.jpg
مشاهده: 17
حجم:  280.9 کیلو بایتبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  B.jpg
مشاهده: 14
حجم:  161.9 کیلو بایتبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  نتیجه نهایی.jpg
مشاهده: 15
حجم:  302.3 کیلو بایت
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.
    ویرایش توسط Skynet : 2017/03/24 در ساعت 20:56

  2.  

  3. #2


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط Skynet نمایش پست ها
    با سلام و احترام خدمت اساتید و دوستان عزیز
    درخواست راهنمایی و ماکرویی جهت انتقال اطلاعات از دوشیت به یک شیت بصورت خاصی را دارم ، خیلی ممنون میشم اگر امکان داشته باشه ، توجه و بررسی نمایید.
    در این فایل سه شیت در اختیار داریم : Home , a , b
    اطلاعات رکورد های شیت a و b تقریبا یکی هست و وجه اشتراکشون شماره چک می باشد. لازم به ذکر هست که بعضی چک ها فقط در a هست و بعضی فقط در b و بعضی دیگر در هر دو شیت a و b .
    من قبلا در شیت a شماره چک هایی که در b بود رو پیدا می کردم و در نهایت در b فیلنتر می کردم چک هایی که در هر دو شیت وجود داشتند و کپی کرده و اونها رو می آوردم در home .

    اما الان علاوه بر انتقال اطلاعات بصورت فوق به دو تغییر دیگه نیاز دارم:
    1- رکورد هایی که فقط در a و یا فقط در b هستند نیز به انتهای جدول home هم منتقل شوند
    2- در ستون توضیحات در home درج بشه که رکورد مربوطه در کدام جدول بوده ! ( فقط در a یا فقط در b و یا موجود در هر دو جدول )
    با تشکر فراوان از اساتید عزیز

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  A.jpg
مشاهده: 17
حجم:  280.9 کیلو بایتبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  B.jpg
مشاهده: 14
حجم:  161.9 کیلو بایتبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  نتیجه نهایی.jpg
مشاهده: 15
حجم:  302.3 کیلو بایت

    با سلام و احترام خدمت عزیزان
    ان شالله که از ایام عید ، به بهترین نحو ممکن استفاده کنید ، ما که بدلیل نیاز به اتمام پروژه ، روز و شبمون پای سیستم و دوست قدیمون اکسل در حال گذران هست
    من بلاخره موفق شدم بین دو تا ستون از دو تا شیت مختلف مقاسیه ای رو برای کشف عناصر غیر تکراری ، بدست بیارم ، تقریبا به کمک فایل های موجود در این انجمن و بررسی همگی اونها توستم به نتایج خوبی برای حل این سوال برسم و نهایتا" این کد رو تونستم تهیه کنم :

    کد:
    Sub Macro5()
    
    z1 = Sheet2.Cells(Sheet2.Rows.Count, "B").End(xlUp).Row
    
    z11 = Sheet3.Cells(Sheet3.Rows.Count, "B").End(xlUp).Row
    
    Z2 = Sheet1.Cells(Sheet1.Rows.Count, "B").End(xlUp).Row + 1
    
    
    'NAME SHEET :A
    Sheet2.Range("B2" & ":B" & z1).Copy Destination:=Sheet1.Range("B" & Z2)
    Sheet2.Range("C2" & ":C" & z1).Copy Destination:=Sheet1.Range("c" & Z2)
    Sheet2.Range("D2" & ":D" & z1).Copy Destination:=Sheet1.Range("D" & Z2)
    Sheet2.Range("E2" & ":E" & z1).Copy Destination:=Sheet1.Range("E" & Z2)
    Sheet2.Range("F2" & ":F" & z1).Copy Destination:=Sheet1.Range("F" & Z2)
    Sheet2.Range("G2" & ":G" & z1).Copy Destination:=Sheet1.Range("G" & Z2)
    Sheet2.Range("H2" & ":H" & z1).Copy Destination:=Sheet1.Range("H" & Z2)
    Sheet2.Range("I2" & ":I" & z1).Copy Destination:=Sheet1.Range("I" & Z2)
    Sheet2.Range("J2" & ":J" & z1).Copy Destination:=Sheet1.Range("J" & Z2)
    
    'NAME SHEET :B
    Sheet3.Range("B2" & ":B" & z11).Copy Destination:=Sheet1.Range("C" & Z2)
    Sheet3.Range("D2" & ":D" & z11).Copy Destination:=Sheet1.Range("G" & Z2)
    Sheet3.Range("E2" & ":E" & z11).Copy Destination:=Sheet1.Range("H" & Z2)
    Sheet3.Range("F2" & ":F" & z11).Copy Destination:=Sheet1.Range("I" & Z2)
    Sheet3.Range("G2" & ":G" & z11).Copy Destination:=Sheet1.Range("J" & Z2)
    
    End Sub
    اما در حال حاظر به دوتا مشکل برخوردم :
    1- چطور در این قسمت از کد تعریف کنم که فقط عناصری رو در سطر B برای کپی انتخاب کن که من فیلترشون کردم !
    کد:
    Sheet2.Range("B2" & ":B" & z1).Copy Destination:=Sheet1.Range("B" & Z2)
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  1.jpg
مشاهده: 11
حجم:  409.7 کیلو بایت



    2- چطور در این قسمت از کد، تعریف کنم که بعد از اتمام کپی مرحله اول از شیت A ، بیا به داخل شیت HOME و اخرین سطر رو پیدا کن و حالا عملیات کپی از شیت B رو در اینجا زیر اخرین سطر پیست کن !
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  2.jpg
مشاهده: 9
حجم:  197.6 کیلو بایت
    در حال حاظر متاسفانه مرحله دوم کپی بر روی مرحله اول کپی ، پیست میشه !

    خیلی ممنونم میشم راهنمایی کنید . مرسی
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط Skynet : 2017/03/24 در ساعت 22:15

  4. #3


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    دوستان به کمک شما نیاز دارم Please Help Meeee

  5. #4


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,343
    امتیاز
    11575
    سپاس
    1,885
    سپاس شده
    8,165 در 3,011 پست
    تعیین سطح نشده است

    با سلام

    کد مورد نیاز شما برای کپی سطرهایی که فیلتر نشده اند

    کد PHP:
    Sub test()

    z1 Sheets("A").Cells(Sheets("A").Rows.Count"B").End(xlUp).Row

    For 2 To z1

    If Sheets("A").Rows(":" i).EntireRow.Hidden False Then

    z2 
    Sheets("Home").Cells(Sheets("Home").Rows.Count"B").End(xlUp).Row 1

    Sheets
    ("A").Range("B" ":j" i).Copy Destination:=Sheets("Home").Range("B" z2)

    End If

    Next

    End Sub 
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط iranweld : 2017/03/26 در ساعت 09:58

  6. سپاس ها (2)


  7. #5


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط iranweld نمایش پست ها
    با سلام

    کد مورد نیاز شما برای کپی سطرهایی که فیلتر نشده اند

    کد PHP:
    Sub test()

    z1 Sheets("A").Cells(Sheets("A").Rows.Count"B").End(xlUp).Row

    For 2 To z1

    If Sheets("A").Rows(":" i).EntireRow.Hidden False Then

    z2 
    Sheets("Home").Cells(Sheets("Home").Rows.Count"B").End(xlUp).Row 1

    Sheets
    ("A").Range("B" ":j" i).Copy Destination:=Sheets("Home").Range("B" z2)

    End If

    Next

    End Sub 
    باسلام و احترام عزیز
    خیلی خیلی ممنونم از کد عالیتون در بسیاری از فایل های در دست می تونم استفاده کنم متشکرممم.
    فقط یک نکته مونده که ظاهرا جامونده
    یکی از مشکلاتم اینه که چطور بعد از کپی اطلاعات از شیت A به شیت home، حالا بیام اطلاعات فیلتر شده در شیت B رو هم کپی کرده و بیام شیت home زیر اخرین سطر موجود پیست کنم ! ممنونم میشم این قسمت هم راهنمایی کنید

  8. #6


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط Skynet نمایش پست ها
    باسلام و احترام عزیز
    خیلی خیلی ممنونم از کد عالیتون در بسیاری از فایل های در دست می تونم استفاده کنم متشکرممم.
    فقط یک نکته مونده که ظاهرا جامونده
    یکی از مشکلاتم اینه که چطور بعد از کپی اطلاعات از شیت A به شیت home، حالا بیام اطلاعات فیلتر شده در شیت B رو هم کپی کرده و بیام شیت home زیر اخرین سطر موجود پیست کنم ! ممنونم میشم این قسمت هم راهنمایی کنید

    من برنامه نویسی نمی دونم ولی سعیمو کردم با توجه به کد شما ، کپی از شیت B به HOME هم اضافه کنم ولی ارور میده !

    کد:
    Sub Macro5()
    
    'copy sheet A to HOME
    z1 = Sheets("A").Cells(Sheets("A").Rows.Count, "B").End(xlUp).Row
    
    
    For i = 2 To z1
    If Sheets("A").Rows(i & ":" & i).EntireRow.Hidden = False Then
    
    
    z2 = Sheets("Home").Cells(Sheets("Home").Rows.Count, "B").End(xlUp).Row + 1
    
    
    Sheets("A").Range("B" & i & ":j" & i).Copy Destination:=Sheets("Home").Range("B" & z2)
    
    
    
    
    
    
    'copy sheet B to HOME
    z11 = Sheets("B").Cells(Sheets("B").Rows.Count, "B").End(xlUp).Row
    
    
    For n = 2 To z11
    If Sheets("B").Rows(n & ":" & n).EntireRow.Hidden = False Then
    
    
    Sheets("B").Range("B" & n & ":j" & n).Copy Destination:=Sheets("Home").Range("C" & z2)
    
    
    
    
    End If
    Next
    
    
    End Sub

  9. #7


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,343
    امتیاز
    11575
    سپاس
    1,885
    سپاس شده
    8,165 در 3,011 پست
    تعیین سطح نشده است

    کد دستوری z2 را در کدی که نوشتید ، فراموش کردید اضافه کنید

  10. سپاس ها (2)


  11. #8


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط iranweld نمایش پست ها
    کد دستوری z2 را در کدی که نوشتید ، فراموش کردید اضافه کنید
    میشه لطفا بیشتر توضیح بدین
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  2.jpg
مشاهده: 13
حجم:  162.3 کیلو بایت برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  Untitled.jpg
مشاهده: 12
حجم:  138.6 کیلو بایت
    ویرایش توسط Skynet : 2017/03/27 در ساعت 01:07

  12. #9


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,343
    امتیاز
    11575
    سپاس
    1,885
    سپاس شده
    8,165 در 3,011 پست
    تعیین سطح نشده است

    با سلام

    از دو دستور if با یک End if استفاده کرده اید که سیستم ارورر میده.
    کد اصلاح شده:

    کد PHP:
    Sub test()

    za Sheets("A").Cells(Sheets("A").Rows.Count"B").End(xlUp).Row

    For 2 To za

    If Sheets("A").Rows(":" i).EntireRow.Hidden False Then

    z2 
    Sheets("Home").Cells(Sheets("Home").Rows.Count"B").End(xlUp).Row 1

    Sheets
    ("A").Range("B" ":j" i).Copy Destination:=Sheets("Home").Range("B" z2)

    End If

    Next


    zb 
    Sheets("B").Cells(Sheets("B").Rows.Count"B").End(xlUp).Row

    For 2 To zb

    If Sheets("B").Rows(":" i).EntireRow.Hidden False Then

    z2 
    Sheets("Home").Cells(Sheets("Home").Rows.Count"B").End(xlUp).Row 1

    Sheets
    ("B").Range("B" ":j" i).Copy Destination:=Sheets("Home").Range("B" z2)

    End If

    Next

    End Sub 

  13. سپاس ها (3)


  14. #10


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط iranweld نمایش پست ها
    با سلام

    از دو دستور if با یک End if استفاده کرده اید که سیستم ارورر میده.
    کد اصلاح شده:

    کد PHP:
    Sub test()

    za Sheets("A").Cells(Sheets("A").Rows.Count"B").End(xlUp).Row

    For 2 To za

    If Sheets("A").Rows(":" i).EntireRow.Hidden False Then

    z2 
    Sheets("Home").Cells(Sheets("Home").Rows.Count"B").End(xlUp).Row 1

    Sheets
    ("A").Range("B" ":j" i).Copy Destination:=Sheets("Home").Range("B" z2)

    End If

    Next


    zb 
    Sheets("B").Cells(Sheets("B").Rows.Count"B").End(xlUp).Row

    For 2 To zb

    If Sheets("B").Rows(":" i).EntireRow.Hidden False Then

    z2 
    Sheets("Home").Cells(Sheets("Home").Rows.Count"B").End(xlUp).Row 1

    Sheets
    ("B").Range("B" ":j" i).Copy Destination:=Sheets("Home").Range("B" z2)

    End If

    Next

    End Sub 

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

    به لطف شما ، کد نهایی با توجه به فایل ارسالی ، با کمی تغییر نهایتا به این صورت در اومد :

    کد:
    Sub test()
    
    za = Sheets("A").Cells(Sheets("A").Rows.Count, "B").End(xlUp).Row
    
    
    For i = 2 To za
    
    
    If Sheets("A").Rows(i & ":" & i).EntireRow.Hidden = False Then
    
    
    z2 = Sheets("Home").Cells(Sheets("Home").Rows.Count, "B").End(xlUp).Row + 1
    
    
    Sheets("A").Range("B" & i & ":j" & i).Copy Destination:=Sheets("Home").Range("B" & z2)
    
    
    End If
    
    
    Next
    
    
    
    
    zb = Sheets("B").Cells(Sheets("B").Rows.Count, "B").End(xlUp).Row
    
    
    For i = 2 To zb
    
    
    If Sheets("B").Rows(i & ":" & i).EntireRow.Hidden = False Then
    
    
    z2 = Sheets("Home").Cells(Sheets("Home").Rows.Count, "B").End(xlUp).Row + 1
    
    
    Sheets("B").Range("B" & i & ":B" & i).Copy Destination:=Sheets("Home").Range("c" & z2)
    Sheets("B").Range("D" & i & ":G" & i).Copy Destination:=Sheets("Home").Range("G" & z2)
    
    
    
    
    End If
    
    
    Next
    
    
    End Sub
    یه سوال:
    امکانش هست طوری دستور رو بنویسیم که در انتهای پیست کردن اطلاعات برای اطلاعات ارسالی از شیت A ، در ستون توضیحات عدد 1 رو تایپ کنه و برای برای اطلاعات ارسالی از شیت B ، در ستون توضیحات عدد 2 رو تایپ کنه مثل تصویر زیر :
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  3.jpg
مشاهده: 17
حجم:  292.3 کیلو بایت
    فايل هاي پيوست شده فايل هاي پيوست شده


صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. انتقال داده های یک شیت به شیت دیگر به صورت پویا
    توسط Nima در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 5
    آخرين نوشته: 2020/10/01, 07:48
  2. تبدیل شیت ها به pdf به صورت جداگانه
    توسط ali.b در انجمن توابع در ويژوال بيسيك - Functions in VBA
    پاسخ ها: 2
    آخرين نوشته: 2016/07/29, 22:08
  3. درج اطلاعات یک شیت در شیت دیگر در صورت تغییر در اطلاعات یک رکورد
    توسط yaghoob_heidari در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 2
    آخرين نوشته: 2015/08/16, 13:22
  4. انتفال اطلاعات دلخواه از یک شیت به شیت دیگر بصورت اتوماتیک
    توسط ardijon در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 7
    آخرين نوشته: 2015/04/21, 00:41

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد