در برنامه حسابداری سهم که نوشتم نیاز دارم داده های یک شیت به شیت دیگر بصورت سورت شده منتقل شوند و سپس اعداد ستون متناظر از شیت قبلی فراخوانی شوند براساس فرمول نوشتم اما سرعتش خیلی کم میشه ممنون میشوم اساتید کمکم کنند
انتقال داده های یک شیت در شیت دوم بصورت سورت شده
Collapse
این تاپیک قفل است.
X
X
-
با سلام مجدد
لطفا از کد های زیر استفاده نمایید.
دو کد ارائه شده که هردو یک کار راانجام میدهند.
کد:Sub mir() lastrowSh1 = Sheet2.Cells(Rows.Count, "a").End(3).Row Sheet1.Range("a3:n" & lastrowSh1).ClearContents Lastrow = Sheet2.Cells(Rows.Count, "a").End(3).Row Sheet2.Range("a2:a" & Lastrow).Copy Sheet1.Range("a3") Sheet2.Range("X2:AJ" & Lastrow).Copy Sheet1.Range("B3") ActiveSheet.Range("B3").Select ActiveSheet.Sort.SortFields.Add2 Key:=Range("B4:B" & Lastrow _ ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Sheet1.Sort .SetRange Range("A4:N" & Lastrow) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Sub mir3() lastrowSh1 = Sheet2.Cells(Rows.Count, "a").End(3).Row Sheet1.Range("a3:n" & lastrowSh1).ClearContents Lastrow = Sheet2.Cells(Rows.Count, "a").End(3).Row Sheet2.Range("a2:a" & Lastrow).Copy Sheet1.Range("a3") Sheet2.Range("X2:AJ" & Lastrow).Copy Sheet1.Range("B3") Range("A3", Range("N" & Rows.Count).End(xlUp).Address).Sort Key1:=[b3], _ Order1:=xlAscending, Header:=xlYes End Sub
کامنت