السلام عليكم ورحمة الله وبركاته
كل عام وانتم بخير وجزاكم الله خيرا مقدما على مساعدتكم
في الشيت المرفق المطلوب كود VBA لترحيل بيانات الصف من شيت إلى شيت أخر في نفس الملف بناء على قيمة خلية في عمود معين ومن ثم إدارج تاريخ الترحيل في العمود المجاور في الشيت المرحل إليه. لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
كل عام وانتم بخير وجزاكم الله خيرا مقدما على مساعدتكم
في الشيت المرفق المطلوب كود VBA لترحيل بيانات الصف من شيت إلى شيت أخر في نفس الملف بناء على قيمة خلية في عمود معين ومن ثم إدارج تاريخ الترحيل في العمود المجاور في الشيت المرحل إليه. لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
أفضل إجابة مقدمة من
salim
وهي:
جرب هذا الكود
الملف مرفق
عرض الإجابة
Option Explicit
Sub trans_data()
Const mot$ = "DELIVERED"
Dim Source_Sheet As Worksheet
Dim Target_Sheet As Worksheet
Dim Rs_Copy As Range, Cel As Range
Dim dic As Object, ky
Dim Rs%, n%, Rt%
Dim arr As Variant
Set Source_Sheet = Sheets("ONGOING")
Set Target_Sheet = Sheets("DELIVERED")
Set dic = CreateObject("Scripting.Dictionary")
Set Rs_Copy = Source_Sheet.Range("a2").CurrentRegion
Rs = Rs_Copy.Rows.Count
Rt = Target_Sheet.Cells(Rows.Count, 1).End(3).Row + 1
If Rt = 2 Then Rt = 3
If Rs = 1 Then Exit Sub
Set Rs_Copy = Rs_Copy.Offset(1).Resize(Rs - 1)
For Each Cel In Rs_Copy.Columns(15).Cells
If UCase(Cel) = mot Then
n = n + 1
arr = Application.Transpose(Cel.Offset(, -13).Resize(, 15))
arr = Join(Application.Transpose(arr), "*")
dic(n) = arr
End If
Next
If dic.Count Then
For Each ky In dic.keys
Target_Sheet.Cells(Rt, 1) = ky
Target_Sheet.Cells(Rt, 2).Resize(, 15) = _
Split(dic(ky), "*")
Target_Sheet.Cells(Rt, "Q") = Date
Rt = Rt + 1
Next
End If
End Sub
الملف مرفق
أعجبني أعجبك هذاإلغ اعجابي 0