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

إمتداد لإضافة ورقة للقيود مع بعض التعديل&#1575


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

أستاذي طارق . .. بفضل الله ثم ببركاتك ... تمكنت من جعل ملفك الذي أرسلته لي يرحل فاتورة بيع و سندات قبض و صرف و قيود (ع أن في القيود غصة)

لي استفسارات من فضلك.. شاهدها في المرفق... و الله أن ملفك ألأول فتح علي كثير من الفوائد لأني المشكلة ما اعرف شي في الإكسل..

ناهيك عن الأكواد و الفيجوال بيسك.. إنما حاجتي تجعلني احاول و احاول و أحاول حتى أني اسهر ايام لغرض التعديل ع شي معين ..

اشكرك و اشكر كل من يساعدني أو يريد مساعدني و لم يسعفه الوقت

ON.rar

رابط هذا التعليق
شارك

  • الردود 50
  • Created
  • اخر رد

Top Posters In This Topic

السلام عليكم أخي لحبيب أود والله من كل قلبي مساعدتك ولكني أعاني الأمرين في موضوع اللغة العربية وأيضا مشغول شوية وسأضع رابط الموضوع السابق هنا http://www.officena.net/ib/index.php?showtopic=31525&st=0&p=160431&fromsearch=1&#entry160431 لعل أحد الخبراء يحل لي موضوع اللغة العربية في جهازي ومن ناحيتك أنت مرة أخري غير كل الأكواد للإنجليزية ولاتجعلها بالعربي إلا بعد تضبيط كل شء بإذن الله

رابط هذا التعليق
شارك

بارك الله فيك أستاذي طارق.. و أقدر مشاغلك ووقتك .. و ع قدر العسر في عمل الأجر تنال حسب قدرك .. و اله أني ادعو لك في ظهر الغيب .. و لكن فيك البركة إن

شاء الله .. و جزاك الله خيرا..

عموما أنا حاولت أستاذي حذف كل كلمة عربية في الملف

و هذا هو في المرفق

و أتمنى من بعض الأخوة ممن لديه الوقت أن ينوبك في ما كلفت به نفسك فضلا لا أمرا.

ON.rar

رابط هذا التعليق
شارك

السلام عليكم

أخي العزيز

أول تعديل في ورقتي الصرف والقيد لعمل مراجعة أوتوماتيكية قبل الترحيل

السطر الذي نصحتك بإضافته أول الكود كان فيه عن طريق الخطأ حرف E ناقص في كلمة Exit

الصحيح هو

If WorksheetFunction.CountA("E12,M15,IV10,C14,D9,E13") <> 6 Then Exit Sub

رابط هذا التعليق
شارك

أخي

تقول في الملف : ورقة قيود

اريد مثلا : صف رقم 6 أقدر أكتب في جهة المدين أو الدائن حسب الحاجة و هو يرحل بحسب وجود الرقم في احد العمودين..

كنا إنتهينا من هذا سابقا علي ماأذكر عن طريق الـ Data > Validation

أرجو التوضيح أكثر

رابط هذا التعليق
شارك

بالنسبة لسؤالك في الملف : ورقة سند قبض

هل يمكن أن أغير كود الترقيم بحيث يشمل حتى التالي:

M1-2010-1430

نعم يمكنك ذلك عن طريق تغيير الكود


Range("IV4").Value = Range("IV4").Value + 1
إلي

n_ser = n_ser + 1

Range("IV4").Value = "M1-2010- " & 1429 + n_ser

حيث الرقم 1429 في الكود هو الذي سيزيد 1 كلما تمت عملية الترحيل

رابط هذا التعليق
شارك

وبالنسبة لسؤالك في الملف : ورقة مبيعات

عندي مشكلة و هي اني كلما ارحل اي شي .. أسفل موضع الخلية محددة قبل الترحسل يكتب لي رقم 1 أو 2 لل ادري ما هذا...

أعتقد أنك غيرت في الكود بما يسبب عطل الكود والدوران في لووب لا نهائي عند السطر 450



450


x = Worksheets.Count

	For i = 1 To x

 	If Worksheets(i).Name = S_NAME5 Then GoTo 450

	Next i

إذا استطعت انت تصليحه يكون أفضل

رابط هذا التعليق
شارك

مشكور أستاذنا طارق ع تعاونك معي و بارك الله لك في علمك..

الحمد لله زالت مشكلة تعليق الملف..بقي :

**** تعديل الرقم التسلسلي يزيد رقم واحد فقط و لا يتعداه ..

**** كود المراجعة -بعد التعديل- كذلك لا يعمل يتوقف الترحيل ولا يستجيب.

****ورقة القيودفيها مشكلة استاذي طارق.. المشكلة مش في منع المستخدم من اذدواجية القيد في أن واحد .. المشكلة عندما يكون معي 20 قيد في ورقة واحدة

هذا يعني أني أحتاج أدخل في المويل (في المايكرو) فوق 240 إدخال أو أكثر ,,,, تخيل لما أدخل : إسم العميل (المدين) و رقمه و الشرح و الملاحظة و التاريخ و رقم السند و كذلك الطرف الآخر الدائن ... نفس الإدخالات و هذا كله مضروبا في 20 .. تخيل !!!!! بيكون جدا مرهق .هذا طبعا ليس ذنبك أستاذي حاشاك

لكن أتسائل هل يوجد كود يختصر هذه الخطوات الطويلة ؟ و بارك الله فيك

تم تعديل بواسطه onlymanly
رابط هذا التعليق
شارك

السلام عليكم

**** تعديل الرقم التسلسلي يزيد رقم واحد فقط و لا يتعداه ..

لاأفهم ماتقصد ، المفروض أن هذا هو الحال فعلا

**** كود المراجعة -بعد التعديل- كذلك لا يعمل يتوقف الترحيل ولا يستجيب.

المفروض أن يتم تغيير المحتوي بناءا علي التعديلات التي عدلتهل علي الملف

مثلا كود سند الصرف سطر المراجعة :

If WorksheetFunction.CountA("D9, E12, E14, D15, H10, I10, I12") <> 7 Then Exit Sub

أي أن الخلايا E12 , M15 , IV10 , C14 , D9 , E13 لابد أن تكون بها بيانات وإلا سيخرج من الماكرو ولكن الواقع أن الخلايا : E2 , C8 , H8 , C13 , IV1 , C10 , E5 , A2 , I10 , A3 , A4 , IV4 , G10 هي التي لابد أن تراجع عليها علي الفورمات الجديدة فيكون الكود كالتالي
If WorksheetFunction.CountA("E2, C8, H8, C13, IV1, C10, E5, A2, I10, A3, A4, IV4, G10") <> 13 Then Exit Sub

رابط هذا التعليق
شارك

****ورقة القيودفيها مشكلة استاذي طارق.. المشكلة مش في منع المستخدم من اذدواجية القيد في أن واحد .. المشكلة عندما يكون معي 20 قيد في ورقة واحدة

هذا يعني أني أحتاج أدخل في المويل (في المايكرو) فوق 240 إدخال أو أكثر ,,,, تخيل لما أدخل : إسم العميل (المدين) و رقمه و الشرح و الملاحظة و التاريخ و رقم السند و كذلك الطرف الآخر الدائن ... نفس الإدخالات و هذا كله مضروبا في 20 .. تخيل !!!!! بيكون جدا مرهق .هذا طبعا ليس ذنبك أستاذي حاشاك

لكن أتسائل هل يوجد كود يختصر هذه الخطوات الطويلة ؟

أكيد فيه أكثر من حل

ولكني للأسف لست محاسبا وإلا كنت سهلت عليك كثيرا

فقط إرسل لي نسخة من ورقة قيد واحدة بها 5 بيانات علي الأقل مع تكرارها

وتوكل علي الله

رابط هذا التعليق
شارك

السلام عليكم أخي العزيز مرفق ملف القيود ومعه كود يتم تشغيله من الزر الأخضر (ازدواجية) أعلي الورقة

علي أن تقف في السطر المراد عمل ازدواجية له


Sub Macro1()

'

' Macro1 Macro

'


rrw = ActiveCell.Row

a = Cells(rrw, 3).Value 	'Credit

b = Cells(rrw, 4).Value 	'Debit

c = Cells(rrw, 5).Value 	'Explain


If WorksheetFunction.CountA(Range(Cells(rrw, 3), Cells(rrw, 5))) < 2 Then MsgBox ("No enough Data"): Exit Sub


Range("E1000").Select

Selection.End(xlUp).Select

ActiveCell.Offset(1, 0).Select

	ActiveCell.Value = c

	If a = 0 And b > 0 Then ActiveCell.Offset(0, -2).Value = b

	If b = 0 And a > 0 Then ActiveCell.Offset(0, -1).Value = a


End Sub

يعتمد الكود عليأن يكون في السطر بيانين علي الأقل وإلا يرجع لك برسالة No enough Data

يقرأ الكود ثلاث بيانات المبلغ دائن و مدين والشرح

ثم ينقل الشرح لآخر سطر فاضي أما المبلغ فإذا كان دائن يتم نقله للمدين والعكس

وطبعا إنت لازم تحدد إسم الطرف الآخر دائن / مدين

تفضل المرفق

قيود.rar

تم تعديل بواسطه TareQ M
رابط هذا التعليق
شارك

طبعا ممكن تطويره لتلافي الازدواجية أكثر من مرة

وكذلك ممكن تطويرهلأن تدخل مجموعة قيود (مثلا دائنين) ثم تظلل عليها (أكثر من سطر) فيتم عمل الازدواجية لأكثر من سطر مرة واحدة

رابط هذا التعليق
شارك

السلام عليكم

لله أنت أستاذنا طارق.. على مساعدتك..

لكن للأسف الملف الذي ارسلته لا يحل مشكلتي في الترحيل .. عموما لا مشكلة أنا سأدخل بنفسي كل الإدخالات في المايكرو ولو كانت 240 :)

لكن المشكلة الان عندي هي أن أكواد الترحيل فيها 20 عميل يتم الترحيل لحساباتهم .. و هذا يعني وجوب أن يكون القيد مشتملا على 20 حساب ..و إلا يتوقف المايكرو

بمعنى: لو أني أريد ان اعمل قيود على 3 حسابات فقط ..فإن الترحيل سيتوقف لأن الـ 20 حساب غير مكتملة بياناتهم..

فهل هناك أمر معين يُضاف في المايكرو بحيث يقال له: لا يجب أن ترحل الحسابات الغير مسجلة في ورقة القيود بغض النظر عن وجود عدد 20 حساب هنا في المايكرو..

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

طبعا لم يعمل الترقيم عندي على الشكل الذي كتبته أنت لي .. فأنا أكتب في المايكرو الكود التالي:

n_ser = n_ser + 1

Range("E2").Value = "M1-2010- " & 1429 + n_ser

و النتيجة في الترحيل الأول في الخلية E2 هي :M1-2010- 1430

أما بالنسبة لكود المراجعة فكذلك لم يعمل..

عموما أنا و الله أستحي من كثر طلباتي .. لكن ما باليد حيلة ...

الله يوفقنا و إياك

رابط هذا التعليق
شارك

استاذ طارق شوف كود الترحيل بعد أن عدلته كيف صار متشعب

Sub &THORN;&iacute;&Iuml;()

Dim xxx As String

N_sER = N_sER + 1

Range("E2").Value = ("M1") & 31 + N_sER

B = MsgBox(" &aring;&aacute; &Atilde;&auml;&Ecirc; &atilde;&Ecirc;&Atilde;&szlig;&Iuml; &Atilde;&auml;&szlig; &Ecirc;&Ntilde;&iacute;&Iuml; &Ecirc;&Ntilde;&Iacute;&iacute;&aacute; &aring;&ETH;&Ccedil; &Ccedil;&aacute;&Oacute;&auml;&Iuml; &iquest;&iquest;&iquest; ", vbOKCancel + vbQuestion + vbMsgBoxRight, " &Icirc;&iacute;&Ccedil;&Ntilde;&Ccedil;&Ecirc; ")

If B = vbNo Then GoTo 7

If B = vbOK Then GoTo 66

7

End

66

S_KIND = "&THORN;&iacute;&Iuml;"

S_SER = Range("E2").Value

S_DATE = Range("B3").Value

S_NAME1 = Range("B5").Value

S_NAME2 = Range("B6").Value

S_NAME3 = Range("B7").Value

S_NAME4 = Range("B8").Value

S_NAME5 = Range("B9").Value

S_NAME6 = Range("B10").Value

S_NAME7 = Range("B11").Value

S_NAME8 = Range("B12").Value

S_NAME9 = Range("B13").Value

S_NAME10 = Range("B14").Value

S_NAME11 = Range("B15").Value

S_NAME12 = Range("B16").Value

S_NAME13 = Range("B17").Value

S_NAME14 = Range("B18").Value

S_NAME15 = Range("B19").Value

S_NAME16 = Range("B20").Value

S_NAME17 = Range("B21").Value

S_NAME18 = Range("B22").Value

S_NAME19 = Range("B23").Value

S_NAME20 = Range("B24").Value

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

S_ACC1 = Range("IU5").Value

S_ACC2 = Range("IU6").Value

S_ACC3 = Range("IU7").Value

S_ACC4 = Range("IU8").Value

S_ACC5 = Range("IU9").Value

S_ACC6 = Range("IU10").Value

S_ACC7 = Range("IU11").Value

S_ACC8 = Range("IU12").Value

S_ACC9 = Range("IU13").Value

S_ACC10 = Range("IU14").Value

S_ACC11 = Range("IU15").Value

S_ACC12 = Range("IU16").Value

S_ACC13 = Range("IU17").Value

S_ACC14 = Range("IU18").Value

S_ACC15 = Range("IU19").Value

S_ACC16 = Range("IU20").Value

S_ACC17 = Range("IU21").Value

S_ACC18 = Range("IU22").Value

S_ACC19 = Range("IU23").Value

S_ACC20 = Range("IU24").Value

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

S_AMOUNT1 = Range("C5").Value

S_AMOUNT2 = Range("D5").Value

S_AMOUNT3 = Range("C6").Value

S_AMOUNT4 = Range("D6").Value

S_AMOUNT5 = Range("C7").Value

S_AMOUNT6 = Range("D7").Value

S_AMOUNT7 = Range("C8").Value

S_AMOUNT8 = Range("D8").Value

S_AMOUNT9 = Range("C9").Value

S_AMOUNT10 = Range("D9").Value

S_AMOUNT11 = Range("C10").Value

S_AMOUNT12 = Range("D10").Value

S_AMOUNT13 = Range("C11").Value

S_AMOUNT14 = Range("D11").Value

S_AMOUNT15 = Range("C12").Value

S_AMOUNT16 = Range("D12").Value

S_AMOUNT17 = Range("C13").Value

S_AMOUNT18 = Range("D13").Value

S_AMOUNT19 = Range("C14").Value

S_AMOUNT20 = Range("D14").Value

S_AMOUNT21 = Range("C15").Value

S_AMOUNT22 = Range("D15").Value

S_AMOUNT23 = Range("C16").Value

S_AMOUNT24 = Range("D16").Value

S_AMOUNT25 = Range("C17").Value

S_AMOUNT26 = Range("D17").Value

S_AMOUNT27 = Range("C18").Value

S_AMOUNT28 = Range("D18").Value

S_AMOUNT29 = Range("C19").Value

S_AMOUNT30 = Range("D19").Value

S_AMOUNT31 = Range("C20").Value

S_AMOUNT32 = Range("D20").Value

S_AMOUNT33 = Range("C21").Value

S_AMOUNT34 = Range("D21").Value

S_AMOUNT35 = Range("C22").Value

S_AMOUNT36 = Range("D22").Value

S_AMOUNT37 = Range("C23").Value

S_AMOUNT38 = Range("D23").Value

S_AMOUNT39 = Range("C24").Value

S_AMOUNT40 = Range("D24").Value

'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

S_explain1 = Range("E5").Value

S_explain2 = Range("E6").Value

S_explain3 = Range("E7").Value

S_explain4 = Range("E8").Value

S_explain5 = Range("E9").Value

S_explain6 = Range("E10").Value

S_explain7 = Range("E11").Value

S_explain8 = Range("E12").Value

S_explain9 = Range("E13").Value

S_explain10 = Range("E14").Value

S_explain11 = Range("E15").Value

S_explain12 = Range("E16").Value

S_explain13 = Range("E17").Value

S_explain14 = Range("E18").Value

S_explain15 = Range("E19").Value

S_explain16 = Range("E20").Value

S_explain17 = Range("E21").Value

S_explain18 = Range("E22").Value

S_explain19 = Range("E23").Value

S_explain20 = Range("E24").Value

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

a = Workbooks.Count

x = "Close"

For i = 1 To a

If Workbooks(i).Name = "2.xls" Then x = "OPEN"

Next i

If x = "Close" Then xxx = ActiveWorkbook.Path & "\" & "2.xls": Workbooks.Open xxx

Windows("2.xls").Activate

'==================================================

'ACC(1)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME1 Then GoTo 100

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME1

Range("C1").Value = S_ACC1

Range("F3").Value = S_NAME1

100

Worksheets(S_NAME1).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT1

ActiveCell.Offset(0, 2).Value = S_AMOUNT2

ActiveCell.Offset(0, 5).Value = S_explain1

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME2

'ACC(2)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME2 Then GoTo 200

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME2

Range("C1").Value = S_ACC2

Range("F3").Value = S_NAME2

200

Worksheets(S_NAME2).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT3

ActiveCell.Offset(0, 2).Value = S_AMOUNT4

ActiveCell.Offset(0, 5).Value = S_explain2

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME1

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(3)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME3 Then GoTo 300

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME3

Range("C1").Value = S_ACC3

Range("F3").Value = S_NAME3

300

Worksheets(S_NAME3).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT5

ActiveCell.Offset(0, 2).Value = S_AMOUNT6

ActiveCell.Offset(0, 5).Value = S_explain3

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME4

'ACC(4)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME4 Then GoTo 400

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME4

Range("C1").Value = S_ACC4

Range("F3").Value = S_NAME4

400

Worksheets(S_NAME4).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT7

ActiveCell.Offset(0, 2).Value = S_AMOUNT8

ActiveCell.Offset(0, 5).Value = S_explain4

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME3

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(5)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME5 Then GoTo 500

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME5

Range("C1").Value = S_ACC5

Range("F3").Value = S_NAME5

500

Worksheets(S_NAME5).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT9

ActiveCell.Offset(0, 2).Value = S_AMOUNT10

ActiveCell.Offset(0, 5).Value = S_explain5

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME6

'ACC(6)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME6 Then GoTo 600

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME6

Range("C1").Value = S_ACC6

Range("F3").Value = S_NAME6

600

Worksheets(S_NAME6).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT11

ActiveCell.Offset(0, 2).Value = S_AMOUNT12

ActiveCell.Offset(0, 5).Value = S_explain6

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME5

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(7)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME7 Then GoTo 700

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME7

Range("C1").Value = S_ACC7

Range("F3").Value = S_NAME7

700

Worksheets(S_NAME7).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT13

ActiveCell.Offset(0, 2).Value = S_AMOUNT14

ActiveCell.Offset(0, 5).Value = S_explain7

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME8

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(8)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME8 Then GoTo 800

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME8

Range("C1").Value = S_ACC8

Range("F3").Value = S_NAME8

800

Worksheets(S_NAME8).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT15

ActiveCell.Offset(0, 2).Value = S_AMOUNT16

ActiveCell.Offset(0, 5).Value = S_explain8

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME7

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(9)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME9 Then GoTo 900

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME9

Range("C1").Value = S_ACC9

Range("F3").Value = S_NAME9

900

Worksheets(S_NAME9).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT17

ActiveCell.Offset(0, 2).Value = S_AMOUNT18

ActiveCell.Offset(0, 5).Value = S_explain9

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME10

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(10)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME10 Then GoTo 1000

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME10

Range("C1").Value = S_ACC10

Range("F3").Value = S_NAME10

1000

Worksheets(S_NAME10).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT19

ActiveCell.Offset(0, 2).Value = S_AMOUNT20

ActiveCell.Offset(0, 5).Value = S_explain10

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME9

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(11)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME11 Then GoTo 1010

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME11

Range("C1").Value = S_ACC11

Range("F3").Value = S_NAME11

1010

Worksheets(S_NAME11).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT21

ActiveCell.Offset(0, 2).Value = S_AMOUNT22

ActiveCell.Offset(0, 5).Value = S_explain11

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME12

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(12)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME12 Then GoTo 1100

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME12

Range("C1").Value = S_ACC12

Range("F3").Value = S_NAME12

1100

Worksheets(S_NAME12).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT23

ActiveCell.Offset(0, 2).Value = S_AMOUNT24

ActiveCell.Offset(0, 5).Value = S_explain12

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME11

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(13)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME13 Then GoTo 1150

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME13

Range("C1").Value = S_ACC13

Range("F3").Value = S_NAME13

1150

Worksheets(S_NAME13).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT25

ActiveCell.Offset(0, 2).Value = S_AMOUNT26

ActiveCell.Offset(0, 5).Value = S_explain13

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME14

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(14)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME14 Then GoTo 1200

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME14

Range("C1").Value = S_ACC14

Range("F3").Value = S_NAME14

1200

Worksheets(S_NAME14).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT27

ActiveCell.Offset(0, 2).Value = S_AMOUNT28

ActiveCell.Offset(0, 5).Value = S_explain14

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME13

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(15)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME15 Then GoTo 1250

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME15

Range("C1").Value = S_ACC15

Range("F3").Value = S_NAME15

1250

Worksheets(S_NAME15).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT29

ActiveCell.Offset(0, 2).Value = S_AMOUNT30

ActiveCell.Offset(0, 5).Value = S_explain15

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME16

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(16)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME16 Then GoTo 1300

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME16

Range("C1").Value = S_ACC16

Range("F3").Value = S_NAME16

1300

Worksheets(S_NAME16).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT31

ActiveCell.Offset(0, 2).Value = S_AMOUNT32

ActiveCell.Offset(0, 5).Value = S_explain16

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME15

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(17)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME17 Then GoTo 1380

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME17

Range("C1").Value = S_ACC17

Range("F3").Value = S_NAME17

1380

Worksheets(S_NAME17).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT33

ActiveCell.Offset(0, 2).Value = S_AMOUNT34

ActiveCell.Offset(0, 5).Value = S_explain17

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME18

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(18)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME18 Then GoTo 1400

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME18

Range("C1").Value = S_ACC18

Range("F3").Value = S_NAME18

1400

Worksheets(S_NAME18).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT35

ActiveCell.Offset(0, 2).Value = S_AMOUNT36

ActiveCell.Offset(0, 5).Value = S_explain18

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME17

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(19)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME19 Then GoTo 1450

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME19

Range("C1").Value = S_ACC19

Range("F3").Value = S_NAME19

1450

Worksheets(S_NAME19).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT37

ActiveCell.Offset(0, 2).Value = S_AMOUNT38

ActiveCell.Offset(0, 5).Value = S_explain19

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME20

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

'ACC(20)

x = Worksheets.Count

For i = 1 To x

If Worksheets(i).Name = S_NAME20 Then GoTo 1480

Next i

Sheets("sample").Select

Sheets("sample").Copy Before:=Sheets(1)

ActiveSheet.Name = S_NAME20

Range("C1").Value = S_ACC20

Range("F3").Value = S_NAME20

1480

Worksheets(S_NAME20).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT39

ActiveCell.Offset(0, 2).Value = S_AMOUNT40

ActiveCell.Offset(0, 5).Value = S_explain20

ActiveCell.Offset(0, 6).Value = S_DATE

ActiveCell.Offset(0, 7).Value = S_KIND

ActiveCell.Offset(0, 8).Value = S_SER

ActiveCell.Offset(0, 9).Value = S_NAME19

'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

MsgBox prompt:=" &Ecirc;&atilde; &Ccedil;&aacute;&Ecirc;&Ntilde;&Iacute;&iacute;&aacute; &Egrave;&auml;&Igrave;&Ccedil;&Iacute; &aelig; &Ccedil;&aacute;&Iacute;&atilde;&Iuml; &aacute;&aacute;&aring; ", Title:=" &Ccedil;&aacute;&Iacute;&atilde;&Iuml; &aacute;&aacute;&aring; &Ntilde;&Egrave; &Ccedil;&aacute;&Uacute;&Ccedil;&aacute;&atilde;&iacute;&auml; "

MsgBox prompt:=" &Uacute;&aacute;&iacute;&szlig; &atilde;&Ntilde;&Ccedil;&Igrave;&Uacute;&Eacute; &Ccedil;&aacute;&THORN;&iacute;&atilde; &aelig; &Ccedil;&aacute;&Ecirc;&Ocirc;&iacute;&iacute;&szlig; &Uacute;&igrave; &Ccedil;&aacute;&atilde;&aacute;&Yacute;&Ccedil;&Ecirc; ", Title:=" &Ccedil;&Ocirc;&szlig;&Ntilde; &Ccedil;&aacute;&aacute;&aring; "

B = MsgBox(" &aring;&aacute; &Ecirc;&Ntilde;&iacute;&Iuml; &Atilde;&auml; &Ecirc;&otilde;&Igrave;&Ntilde;&iacute;&oacute; &Atilde;&iacute; &Uacute;&atilde;&aacute;&iacute;&Eacute; &Atilde;&Icirc;&Ntilde;&igrave; &iquest;&iquest;&iquest;&iquest;&iquest;&iquest; ", vbOKCancel + vbQuestion + vbMsgBoxRight, " &Icirc;&iacute;&Ccedil;&Ntilde;&Ccedil;&Ecirc; ")

If B = vbOK Then GoTo 5

If B = vbNo Then GoTo 4

4

ActiveWorkbook.Close SaveChanges:=True

Windows("1.xls").Activate

ActiveWorkbook.Close SaveChanges:=True

5

Windows("1.xls").Activate

Range("A1").Select

End Sub

حسب الكود لدينا 20 حساب .. و إذا لم تدخل بياناتهم كلهم في ورقة القيد فإن المايكرو سيتوقف لأن العشرين حساب غير متوفرين .. طبعا أنا أحيانا قد أجري قيود على حسابين أو 4 مثلا.. ف بالطبع سيتوقف المايكرو.. هل من حل ؟

استاذ طارق: كيف أكتب في الكود دليل معين مثل: أريد أرحل هذا السند مثلا لـ نفس المجلد الحالي و لكن هذا السند داخل مجلد داخل مجلد مثلا:

\Only\ACCOUNTS\ARCHIVES\QS" و الملف الذي أريد يترحل لداخله إسمه مثلا: B1.XLS

رابط هذا التعليق
شارك

السلام عليكم

أخي العزيز

أنظر للصورة التي أراها بالجهاز

سأضطر لإرجاء الموضوع للغد

عموما كنت قد جهزت لك شرح في كود القيد الأخير

سأرفقه أيضا تفكر به حتي الغد

برجاء قراءة آخر سطرين جيدا

يمكن يفتح الله عليك بحل

شرح كود القيد.rar

post-1148-12694402134319_thumb.jpg

رابط هذا التعليق
شارك

:$ أستاذ طارق أخوك ما يعرف شي في المايكرو ... و الله ما كنت أتجرأ ألمس نقطة فيه سابقا .. الذي جرأني اغير فيه و أختبر تغييري عدة مرات هو ملفك أول ملف ارسلته أنت و عدلت فيه أنا .. و من هناك بدأت اغيير , اتأمل في الأكواد .. كتن أشوفها و ما زلت طلاسم ..

لا أعرف ما هو االأمر الذي يلغي السطر الذي تم ترحيله ولا شي .

عموما سأحاول حتى أحصل على مطلوبي .. و لله أنت من غوث

رابط هذا التعليق
شارك

أخي الحبيب

كلنا كنا أسوأ كثيرا من بدايتك هذه

علي سبيل المثال

هذا الجزء من الكود اللي أرسلته إنت وأسفله كود آخر مكافيء له تماما ولكن أقصر منه


S_AMOUNT2 = Range("D5").Value

S_AMOUNT3 = Range("C6").Value

S_AMOUNT4 = Range("D6").Value

S_AMOUNT5 = Range("C7").Value

S_AMOUNT6 = Range("D7").Value

S_AMOUNT7 = Range("C8").Value

S_AMOUNT8 = Range("D8").Value

S_AMOUNT9 = Range("C9").Value

S_AMOUNT10 = Range("D9").Value

S_AMOUNT11 = Range("C10").Value

S_AMOUNT12 = Range("D10").Value

S_AMOUNT13 = Range("C11").Value

S_AMOUNT14 = Range("D11").Value

S_AMOUNT15 = Range("C12").Value

S_AMOUNT16 = Range("D12").Value

S_AMOUNT17 = Range("C13").Value

S_AMOUNT18 = Range("D13").Value

S_AMOUNT19 = Range("C14").Value

S_AMOUNT20 = Range("D14").Value

S_AMOUNT21 = Range("C15").Value

S_AMOUNT22 = Range("D15").Value

S_AMOUNT23 = Range("C16").Value

S_AMOUNT24 = Range("D16").Value

S_AMOUNT25 = Range("C17").Value

S_AMOUNT26 = Range("D17").Value

S_AMOUNT27 = Range("C18").Value

S_AMOUNT28 = Range("D18").Value

S_AMOUNT29 = Range("C19").Value

S_AMOUNT30 = Range("D19").Value

S_AMOUNT31 = Range("C20").Value

S_AMOUNT32 = Range("D20").Value

S_AMOUNT33 = Range("C21").Value

S_AMOUNT34 = Range("D21").Value

S_AMOUNT35 = Range("C22").Value

S_AMOUNT36 = Range("D22").Value

S_AMOUNT37 = Range("C23").Value

S_AMOUNT38 = Range("D23").Value

S_AMOUNT39 = Range("C24").Value

S_AMOUNT40 = Range("D24").Value
المكافيء له أولا هذا السطر في أول الكود
Dim s_amount(99) As Variant
ثم هذ الأسطر بدلا من أسطرك

	For i = 1 To 20

 	s_amount(i * 2 - 1) = Range("C" & i + 4).Value

 	s_amount(i * 2) = Range("D" & i + 4).Value

	Next i

أعني أنه يمكن الحل دائما بطرق كثيرة وسوف تتعجب من قصرها

والله الموفق

رابط هذا التعليق
شارك

يا سبحان الله .. كم هو شيق هذا العلم...

عرفتُ كيف اختصار هذا الأمر بالنسبة لكون الماييكرو يأخذ هذه الأوامر كدليل .. لكن ماذا أكتب كي أحدد موضع هذه الأرقام في صفحة التحريل

Worksheets(S_NAME1).Select

Range("a1000").Select

Selection.End(xlUp).Select

If ActiveCell.Row = 5 Then ser = 1 Else ser = ActiveCell.Value + 1

ActiveCell.Offset(1, 0).Select

ActiveCell.Value = ser

ActiveCell.Offset(0, 1).Value = S_AMOUNT1

ActiveCell.Offset(0, 2).Value = S_AMOUNT2

رابط هذا التعليق
شارك

عندي اربع مشاكل :

ألأولى:

جعلت ملفك المبارك الأول يرحل لملف الحسابات و يرحل نسخة عبارة عن إرشيفة لأسناد الصرف و القبض.. واجهتني مشكلة في عدم معرفتي بإعطاء المايكرو

دليل النسخة الإحتياطية التي عملتها فهي في دليل داخل دليل داخل دليل في نفس دليل ONLY الذي فيه ملفك .. و ارفقت صورة للمشكلة

الثانية :

عندما يرحل .. و يكون الإسم موجود لا يقبل تكراره لا أدري لماذا . و ارفقت صورة ..

الثالثة:

في ملف القيود.. يجبرني أن أعبي عشرين حساب حتى يتم الترحيل... فهل هناك حل ؟؟ يعني اريده يرحل الذي أكتبه له بغض النظر عن باقي العشرين لأني لا أحتاج أرحل لكل العشرين ..

الرابعة:

الكود يرحل ولو من غير قيمة في المدين أو الدائن... هل من حل؟

فيك البركة استاذي طارق.. خليني استغل رضاك :)

Desktop.rar

رابط هذا التعليق
شارك

السلام عليكم

سأرد علي ماتيسر وليس بالترتيب

الثانية : عندما يرحل .. و يكون الإسم موجود لا يقبل تكراره لا أدري لماذا . و ارفقت صورة ..

يبدو أنك لم تنتبه لتسلسل الأوامر عند إنشاء ورقة جديدة كنسخة من "SAMPLE" ثم إعادة تسميتها بإسم كذا

فقبل لك لابد أن تتأكد انه لايوجد ورقة بهذا الإسم وإلا لاداعي لعمل نسخة أخري ،

فقط فليذهب للخطوة التالية

أعلم ان الموضوع ليس سهلا ولكنك ستخرج من هذه التجربة علي دراية بما يصلح لك من الأكواد

أرفقت لك صورة من جزء من شرح الأمس بخصوص هذه الجزئيةوبه رسالة الخطأ التي أرفقها أنت

post-1148-12694938409705_thumb.jpg

تم تعديل بواسطه TareQ M
رابط هذا التعليق
شارك

والآن مشكلة الدليل (أو المجلد) الذي تخزن فيه النسخة

ألأولى:

جعلت ملفك المبارك الأول يرحل لملف الحسابات و يرحل نسخة عبارة عن إرشيفة لأسناد الصرف و القبض.. واجهتني مشكلة في عدم معرفتي بإعطاء المايكرو

دليل النسخة الإحتياطية التي عملتها فهي في دليل داخل دليل داخل دليل في نفس دليل ONLY الذي فيه ملفك .. و ارفقت صورة للمشكلة

للسهولة في هذه المرحلة ، إجعل دليلا واحدا به كافة الأعمال فقط غير من أسماء الملفات

وهذا الدليل هو ActiveWorkbook.Path

بمعني أنك إذا كنت متأكد من

1. وجود ملفا آخر في نفس الدليل إسمه Accounts.xls مثلا وتريد وضع هذه البيانات فيه

2. أن هذا الملف مغلق عند هذه الخطوة

فإنك تكتب كما بالكود السابق هكذا

 xxx = ActiveWorkbook.Path & "\" & "Accounts.xls"

Workbooks.Open xxx

لو أي من الشرطين غير متوافر سيعطي خطأ

رابط هذا التعليق
شارك

الثالثة:

في ملف القيود.. يجبرني أن أعبي عشرين حساب حتى يتم الترحيل... فهل هناك حل ؟؟ يعني اريده يرحل الذي أكتبه له بغض النظر عن باقي العشرين لأني لا أحتاج أرحل لكل العشرين ..

لا أفهم كيف يجبرك؟

أعني يبدو أنك أضفت للكود شرطا لاأعلمه

لابد من إرسال الكود مع إستبدال الحروف العربية بأي إختصارات لها بالإنجليزية

أرجو أن أكون فهمت المشكلة

أنت قد وضعت له للقراءة جميع خلايا الورقة التي من الممكن إستخدامها

بعدما ترسل الكود مع إستبدال الحروف العربية بأي إختصارات لها بالإنجليزية ، سأعدله بإذن الله ليقبل الترحيل بغض النظر عن ذلك

تم تعديل بواسطه TareQ M
رابط هذا التعليق
شارك

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