اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

جرب هذا الملف المرفق

سجل البيانات فى شيت 6

ثم اضغط على button 2

ستجد البينات تم ترحيلها الى شيت العميل وايضا الى شيت 5

تحياتى

Konafa4000

جديد .rar

تم تعديل بواسطه konafa4000
  • Thanks 1
قام بنشر (معدل)

السلام عليكم

بعد اذن اخي الحبيب konafa4000

هذا شرح على عجله


Sub TRHILL()

' عند وجود خطاء اخرج منه

On Error Resume Next

' تحديث الشاشة

Application.ScreenUpdating = False

' هنا حلقة تكراريةعدد الصفوف إبتداء من الصف الخامس الى الصف الـ 14 فقط

1

For R = 5 To 14

' متغير لحفظ قيمة قيمة الحلقة لعمود A

2

TS = Cells(R, 1).Value

' حلقة تكرارية من أول ورقة إلى اخر ورقة في المصنف

3

For S = 1 To Sheets.Count

' شرط اذا إسم الورقة تساوي المتغير

4

If Sheets(S).Name = TS Then

' متغير لحفظ إسم ورقة5

5

sh5n = Sheets("Sheet5").Name

' متغير لحفظ اخر سطر فيه بيانات في الورقة التي تساوي الشرط في السطر الرابع

6

ER = Sheets(TS).Range("D1211").End(xlUp).Row + 1

' متغير لحفظ اخر خليه فيها بيانات في الورقة الخامسه + سطر واحد

7

E5 = Sheets("Sheet5").Range("B1211").End(xlUp).Row + 1

' متغير لحفظ الأعمدة التي سيتم نسخها

8

RN = "B" & R & ":G" & R

' متغير لحفظ عملية النسخ التالي والتي هيا لعمودين الدائن والمدين

9

RN2 = "B" & R & ":c" & R ' مدين او دائن

' متغير لعملية النسخ الثالثه

10

RN3 = "D" & R & ":G" & R

' نسخ بيانات متغير RN

'Sheets(TS)

11

Range(RN).Copy

' لصقها في الورقة التي حققت الشرط

'Cells(ER, 4).

'ER ' الصف الاخير + سطر الذي في سطر رقم 6

' 4 ' رقم العمود الذي يعتبر الـ D

12

Sheets(TS).Cells(ER, 4).PasteSpecial Paste:=xlPasteValues

' نسخر بيانات متغير  RN2

13

Range(RN2).Copy

' لصقها في الورقة التي في متغير سطر 5

'Sheets(sh5n) = التي هيا sheet5

'Cells(E5, 2)

'E5 ' لصق في صف متغير سطر 7

'2 ' عمود رقم2 الذي هو B

14

Sheets(sh5n).Cells(E5, 2).PasteSpecial Paste:=xlPasteValues

' sheet5 ' اخر سطر فيه بيانات السطر الذي يليه'

' عمود 4 D الصق فيه متغير TS سطر رقم 2

15

Sheets(sh5n).Cells(E5, 4).Value = TS

' انسخ متغير RN3

16

Range(RN3).Copy

' Sheets(sh5n) = sheet5

'Cells(E5, 5) = سطر متغير E5 '  5 = عمود E

17

Sheets(sh5n).Cells(E5, 5).PasteSpecial Paste:=xlPasteValues

' إمسح بيانات متغير RN

18

Range(RN).ClearContents

' إنتها الشرط

19

End If

' خروج من حلقة S

20

Next S

' خروج من حلقة R

21

Next R

' الخروج من وضع النسخ الذي

22

Application.CutCopyMode = False

' الخروج من وضع تحديث الشاشة

23

Application.ScreenUpdating = True

' رسالة مسج بنجاح العملية

24

MsgBox "!تـم الترحيل بنجاح", vbInformation + vbMsgBoxRight, "تـــــم الـترحـيل"

' مسح بيانات المدى المعني

25

[a5:g14].ClearContents

'  الذهاب الى الخلية المعنيه

26

Range("a5").Select

'  في حال وجود خطاء

On Error GoTo 0

End Sub

تم تعديل بواسطه alidroos
  • Thanks 1
قام بنشر

مشكور اخى Alidroos على الشرح الوافى للكود

توضيح : (لكى ياخذ كل ذى حق حقه)

---------

الملف الاساسي الذى قدمه اخى elsedik فى طلبه بالمشاركة الاولى كان يحتوى على هذا الكود ( بصراحة اللى كاتبه راجل محترف جدا - ارفع له القبعة)

وكل ما فعلته هو تعديل بسيط على الكود لكى يتم ترحيل البيانات الى شيت 5 وفقا وطلب اخى elsedik

تقبلوا تحياتى

Konafa4000

قام بنشر

بجد مش عارف اعبر عن شكرى وفخري باعضاء المنتدى الرائع

جزاكم الله كل خير لكل اعضاء المنتدى

جزاكم الله كل خير

اخوكم الصديق

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information