المشاغب الصغير قام بنشر فبراير 7, 2013 مشاركة قام بنشر فبراير 7, 2013 طلب مساعدة الكود التالي ممتاز لكن اريدة ينسخ القيم وليس المعدلات الكود يقوم بنسخ بينات من نططاق معين في Option Explicit Private Sub Worksheet_Activate() Dim ws As Worksheet Dim LastRng As Range Dim LastRow As Long Application.ScreenUpdating = False 'speed up code Sheets("Master List").Rows("2:" & Rows.Count).ClearContents 'clear For Each ws In Worksheets Set LastRng = Sheets("Master List").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) If ((ws.Name <> "Template") And (ws.Name <> "Change Log") And (ws.Name <> "Agent") And (ws.Name <> "Master List") And (ws.Name <> "Info")) Then With ws If (.AutoFilterMode) Then .AutoFilterMode = False ' REMOVE AUTOFILTER IF EXIST LastRow = .Range("B" & Rows.Count).End(xlUp).Row .Range("J4:N" & LastRow).Copy Destination:=LastRng End With End If Next Application.CutCopyMode = False 'clear clipboard Application.ScreenUpdating = True END SUB او التعديل علي الكود التالي ليقوم بالنسخ الراسي وليس الفقي بمعني خلايا اسفل وليس بجوار Sub CopyColumnValues() Dim sh As Worksheet Dim DestSh As Worksheet Dim Last As Long If SheetExists("Master") = True Then MsgBox "The sheet Master already exist" Exit Sub End If Application.ScreenUpdating = False Set DestSh = Worksheets.Add DestSh.Name = "Master" For Each sh In ThisWorkbook.Worksheets If sh.Name <> DestSh.Name Then If sh.UsedRange.Count > 1 Then Last = Lastcol(DestSh) With sh.Columns("J:N") DestSh.Columns(Last + 1).Resize(, _ .Columns.Count).Value = .Value End With End If End If Next Application.ScreenUpdating = True End Sub Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function Function Lastcol(sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column On Error GoTo 0 End Function Function SheetExists(SName As String, _ Optional ByVal WB As Workbook) As Boolean On Error Resume Next If WB Is Nothing Then Set WB = ThisWorkbook SheetExists = CBool(Len(Sheets(SName).Name)) End Function رابط هذا التعليق شارك More sharing options...
عبدالله المجرب قام بنشر فبراير 7, 2013 مشاركة قام بنشر فبراير 7, 2013 اخي الكريم ضع مرفق به الكود ليتم التعديل عليه للعلم ضع مرفق به اسماء الشيتات التي بالكود مع بعض البيانات التجريبية رابط هذا التعليق شارك More sharing options...
المشاغب الصغير قام بنشر فبراير 10, 2013 الكاتب مشاركة قام بنشر فبراير 10, 2013 مشكور اخي للاهتمام المعدات الجديد.rar رابط هذا التعليق شارك More sharing options...
المشاغب الصغير قام بنشر فبراير 11, 2013 الكاتب مشاركة قام بنشر فبراير 11, 2013 للرفع رابط هذا التعليق شارك More sharing options...
المشاغب الصغير قام بنشر فبراير 12, 2013 الكاتب مشاركة قام بنشر فبراير 12, 2013 للرفع رابط هذا التعليق شارك More sharing options...
عبدالله المجرب قام بنشر فبراير 21, 2013 مشاركة قام بنشر فبراير 21, 2013 جربت الكود وهو يقوم بإنشاء شيت جديد اسمه (Master) ونسخ بيانات باقي الشيتات اليه (الاعمدة) والكود ينسخ القيم وليس المعادلات رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان