كيفية نسخ الصفوف ولصقها في ورقة أخرى بناءً على التاريخ في Excel؟
لنفترض أن لدي مجموعة من البيانات، وأريد الآن نسخ الصفوف بالكامل بناءً على تاريخ محدد ثم لصقها في ورقة أخرى. هل لديك أي أفكار جيدة للتعامل مع هذه المهمة في Excel؟
نسخ الصفوف ولصقها في ورقة أخرى بناءً على تاريخ اليوم
نسخ الصفوف ولصقها في ورقة أخرى إذا كان التاريخ أكبر من اليوم
نسخ الصفوف ولصقها في ورقة أخرى بناءً على تاريخ اليوم
إذا كنت بحاجة إلى نسخ الصفوف إذا كان التاريخ هو اليوم، يرجى تطبيق الكود التالي بلغة VBA:
1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.
كود VBA: نسخ ولصق الصفوف بناءً على تاريخ اليوم:
Sub CopyRow()
'Updateby Extendoffice
Dim xRgS As Range, xRgD As Range, xCell As Range
Dim I As Long, xCol As Long, J As Long
Dim xVal As Variant
On Error Resume Next
Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
xCol = xRgS.Rows.Count
Set xRgS = xRgS(1)
Application.CutCopyMode = False
J = 0
For I = 1 To xCol
Set xCell = xRgS.Offset(I - 1, 0)
xVal = xCell.Value
If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
xCell.EntireRow.Copy xRgD.Offset(J, 0)
J = J + 1
End If
Next
Application.CutCopyMode = True
End Sub
3. بعد لصق الكود أعلاه، يرجى الضغط على مفتاح F5 لتشغيل هذا الكود، وسيظهر مربع منبثق لتذكيرك بتحديد عمود التاريخ الذي تريد نسخ الصفوف بناءً عليه، انظر إلى الصورة التوضيحية:
4. ثم انقر فوق زر موافق، وفي مربع منبثق آخر، حدد خلية في ورقة أخرى حيث تريد إخراج النتيجة، انظر إلى الصورة التوضيحية:
5. وبعد ذلك انقر فوق زر موافق، الآن تم لصق الصفوف التي يكون تاريخها هو اليوم في الورقة الجديدة فورًا، انظر إلى الصورة التوضيحية:
نسخ الصفوف ولصقها في ورقة أخرى إذا كان التاريخ أكبر من اليوم
لنسخ ولصق الصفوف التي يكون تاريخها أكبر من أو يساوي اليوم، على سبيل المثال، إذا كان التاريخ يساوي أو أكبر من 5 أيام منذ اليوم، ثم نسخ ولصق الصفوف في ورقة أخرى.
قد يساعدك الكود التالي بلغة VBA:
1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.
كود VBA: نسخ ولصق الصفوف إذا كان التاريخ أكبر من اليوم:
Sub CopyRow()
'Updateby Extentoffice
Dim xRgS As Range, xRgD As Range, xCell As Range
Dim I As Long, xCol As Long, J As Long
Dim xVal As Variant
On Error Resume Next
Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
xCol = xRgS.Rows.Count
Set xRgS = xRgS(1)
Application.CutCopyMode = False
J = 0
For I = 1 To xCol
Set xCell = xRgS.Offset(I - 1, 0)
xVal = xCell.Value
If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
xCell.EntireRow.Copy xRgD.Offset(J, 0)
J = J + 1
End If
Next
Application.CutCopyMode = True
End Sub
ملاحظة: في الكود أعلاه، يمكنك تغيير المعايير، مثل أقل من اليوم أو عدد الأيام كما تحتاج في سطر الكود If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then.
3. ثم اضغط على مفتاح F5 لتشغيل هذا الكود، في مربع الحوار، يرجى تحديد عمود البيانات الذي تريد استخدامه، انظر إلى الصورة التوضيحية:
4. ثم انقر فوق زر موافق، وفي مربع منبثق آخر، حدد خلية في ورقة أخرى حيث تريد إخراج النتيجة، انظر إلى الصورة التوضيحية:
5. انقر فوق زر موافق، الآن تم نسخ ولصق الصفوف التي يكون تاريخها يساوي أو أكبر من 5 أيام منذ اليوم في الورقة الجديدة كما هو موضح في الصورة التالية:
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!