علي المصري قام بنشر فبراير 13, 2023 قام بنشر فبراير 13, 2023 السلام عليكم ورحمة الله وبركاته الكود التالي المفروض يقوم بدمج الصفحات الثلاثة B3DataT1, B2DataT1, B1DataT1 الي الصفحة DataT1 ولكن لا يعمل بشكل صحيح فهل من مساعدة لتصحيحه Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Determine lastrow on DatatT1 LastRow6 = Sht6.Range("A" & Rows.Count).End(xlUp).Row 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For Each Sht In Sheets(Array("B1DataT1", "B2DataT1", "B3DataT1")) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) 'Copy to DataT1 Rng.Copy Destination:=Sht6.Range("A3:Q" & LastRow6 + 2) Next End Sub T1 --Data.xlsb
حسونة حسين قام بنشر فبراير 13, 2023 قام بنشر فبراير 13, 2023 وعليكم السلام ورحمة الله وبركاته عدل Rng.Copy Destination:=Sht6.Range("A3:Q" & LastRow6 + 2) الى Rng.Copy Destination:=Sht6.Range("A" & LastRow6 + 2 & ":Q" & LastRow6 + 2)
علي المصري قام بنشر فبراير 14, 2023 الكاتب قام بنشر فبراير 14, 2023 (معدل) لا يعطي نتيجة تم تعديل فبراير 14, 2023 بواسطه علي المصري
حسونة حسين قام بنشر فبراير 14, 2023 قام بنشر فبراير 14, 2023 2 ساعات مضت, علي المصري said: لا يعطي نتيجة ماذا تقصد ؟
محي الدين ابو البشر قام بنشر فبراير 14, 2023 قام بنشر فبراير 14, 2023 ربما Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Determine lastrow on DatatT1 x = Array("B1DataT1", "B2DataT1", "B3DataT1") 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For i = 0 To UBound(x) Set Sht = Sheets(x(i)) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) LastRow6 = Sht6.Cells(Rows.Count, 1).End(xlUp).Row 'Copy to DataT1 Rng.Copy Destination:=Sht6.Range("A" & LastRow6 + 2) Next End Sub 1
علي المصري قام بنشر فبراير 14, 2023 الكاتب قام بنشر فبراير 14, 2023 1 ساعه مضت, حسونة حسين said: ماذا تقصد ؟ 1 ساعه مضت, محي الدين ابو البشر said: ربما Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Determine lastrow on DatatT1 x = Array("B1DataT1", "B2DataT1", "B3DataT1") 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For i = 0 To UBound(x) Set Sht = Sheets(x(i)) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) LastRow6 = Sht6.Cells(Rows.Count, 1).End(xlUp).Row 'Copy to DataT1 Rng.Copy Destination:=Sht6.Range("A" & LastRow6 + 2) Next End Sub
محي الدين ابو البشر قام بنشر فبراير 14, 2023 قام بنشر فبراير 14, 2023 (معدل) T1 --Data.xlsm T1 --Data.xlsm تم تعديل فبراير 14, 2023 بواسطه محي الدين ابو البشر
أفضل إجابة حسونة حسين قام بنشر فبراير 14, 2023 أفضل إجابة قام بنشر فبراير 14, 2023 تفضل اخى Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For Each Sht In Sheets(Array("B1DataT1", "B2DataT1", "B3DataT1")) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Determine lastrow on DatatT1 LastRow6 = Application.Max(3, Sht6.Cells(Rows.Count, 1).End(xlUp).Row + 1) 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) 'Copy to DataT1 Rng.Copy Destination:=Sht6.Range("A" & LastRow6) Next End Sub ولا تنسي ان تمسح البيانات الموجوده في الشيت Sht6 لان بها بيانات تتعدى ال ٣٠٠٠ السطر 2
saad abed قام بنشر فبراير 14, 2023 قام بنشر فبراير 14, 2023 السلام عليكم يفضل اضافة سطر لمسح الداتا Sht6.Range("A3:Q100000").ClearContents
علي المصري قام بنشر فبراير 14, 2023 الكاتب قام بنشر فبراير 14, 2023 3 ساعات مضت, حسونة حسين said: LastRow6 = Application.Max(3, Sht6.Cells(Rows.Count, 1).End(xlUp).Row + 1) أولا شكرا لك وجزاك الله خيرا ثانيا ممكن شرح لهذا السطر من الكود
علي المصري قام بنشر فبراير 14, 2023 الكاتب قام بنشر فبراير 14, 2023 (معدل) 3 ساعات مضت, محي الدين ابو البشر said: T1 --Data.xlsmUnavailable T1 --Data.xlsm 455.61 kB · 9 downloads عند استخدام هذا الكود ظهر صف فارغ بين بيانات الصفة الاولى والثانية وهكذا تم التغلب عليه عن طريق التعديل التالي Sub Merge_Sheets() Dim Sht As Worksheet Dim Sht6 As Worksheet Dim LastRow6 As Long Dim Rng As Range Set Sht6 = Sheets("DataT1") 'Determine lastrow on DatatT1 x = Array("B1DataT1", "B2DataT1", "B3DataT1") 'Loop though B1DataT1 - B2DataT1 - B3DataT1 For i = 0 To UBound(x) Set Sht = Sheets(x(i)) 'Find last row LastRow = Sht.Range("A" & Rows.Count).End(xlUp).Row 'Set Range Set Rng = Sht.Range("A3:Q" & LastRow) LastRow6 = Sht6.Cells(Rows.Count, 1).End(xlUp).Row 'Copy to DataT1 If LastRow6 = 1 Then Rng.Copy Destination:=Sht6.Range("A" & LastRow6 + 2) Else Rng.Copy Destination:=Sht6.Range("A" & LastRow6 + 1) End If Next End Sub مع الشكر الجزيل لحضرتك تم تعديل فبراير 14, 2023 بواسطه علي المصري
علي المصري قام بنشر فبراير 14, 2023 الكاتب قام بنشر فبراير 14, 2023 بعد عملية الترحيل اريد ترحيل بعض الاعمدة من هذه البيانات المجمعة في الصفحة DataT1 إلى صفحة جديدة اخرى اسمها مثلا GradesT1 فكيف يكون شكل الكود شكرا لكم
محي الدين ابو البشر قام بنشر فبراير 15, 2023 قام بنشر فبراير 15, 2023 (معدل) Sub test() Dim a With Sheets("DataT1").Cells(1).CurrentRegion a = .Value With Sheets("GradesT1") .Cells(1, 1).Resize(UBound(a), 5) = Application.Index(a, Evaluate("row(1:" & UBound(a) & ")"), [{1,5,3,4,7}]) End With: End With End Sub عسى ولعل تم نقل خمسة أعمدة وبالترتيب الذي تختاره أنت تم تعديل فبراير 15, 2023 بواسطه محي الدين ابو البشر 3
علي المصري قام بنشر فبراير 15, 2023 الكاتب قام بنشر فبراير 15, 2023 10 ساعات مضت, محي الدين ابو البشر said: عسى ولعل شكرا جزيلا وجزاكم الله خيرا ومعذرة على تعبكم
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.