onlymanly قام بنشر مارس 20, 2010 قام بنشر مارس 20, 2010 أستاذي طارق . .. بفضل الله ثم ببركاتك ... تمكنت من جعل ملفك الذي أرسلته لي يرحل فاتورة بيع و سندات قبض و صرف و قيود (ع أن في القيود غصة) لي استفسارات من فضلك.. شاهدها في المرفق... و الله أن ملفك ألأول فتح علي كثير من الفوائد لأني المشكلة ما اعرف شي في الإكسل.. ناهيك عن الأكواد و الفيجوال بيسك.. إنما حاجتي تجعلني احاول و احاول و أحاول حتى أني اسهر ايام لغرض التعديل ع شي معين .. اشكرك و اشكر كل من يساعدني أو يريد مساعدني و لم يسعفه الوقت ON.rar
طارق محمود قام بنشر مارس 20, 2010 قام بنشر مارس 20, 2010 السلام عليكم أخي لحبيب أود والله من كل قلبي مساعدتك ولكني أعاني الأمرين في موضوع اللغة العربية وأيضا مشغول شوية وسأضع رابط الموضوع السابق هنا http://www.officena.net/ib/index.php?showtopic=31525&st=0&p=160431&fromsearch=1&#entry160431 لعل أحد الخبراء يحل لي موضوع اللغة العربية في جهازي ومن ناحيتك أنت مرة أخري غير كل الأكواد للإنجليزية ولاتجعلها بالعربي إلا بعد تضبيط كل شء بإذن الله
onlymanly قام بنشر مارس 20, 2010 الكاتب قام بنشر مارس 20, 2010 بارك الله فيك أستاذي طارق.. و أقدر مشاغلك ووقتك .. و ع قدر العسر في عمل الأجر تنال حسب قدرك .. و اله أني ادعو لك في ظهر الغيب .. و لكن فيك البركة إن شاء الله .. و جزاك الله خيرا.. عموما أنا حاولت أستاذي حذف كل كلمة عربية في الملف و هذا هو في المرفق و أتمنى من بعض الأخوة ممن لديه الوقت أن ينوبك في ما كلفت به نفسك فضلا لا أمرا. ON.rar
طارق محمود قام بنشر مارس 22, 2010 قام بنشر مارس 22, 2010 السلام عليكم أخي العزيز أول تعديل في ورقتي الصرف والقيد لعمل مراجعة أوتوماتيكية قبل الترحيل السطر الذي نصحتك بإضافته أول الكود كان فيه عن طريق الخطأ حرف E ناقص في كلمة Exit الصحيح هو If WorksheetFunction.CountA("E12,M15,IV10,C14,D9,E13") <> 6 Then Exit Sub
طارق محمود قام بنشر مارس 22, 2010 قام بنشر مارس 22, 2010 أخي تقول في الملف : ورقة قيود اريد مثلا : صف رقم 6 أقدر أكتب في جهة المدين أو الدائن حسب الحاجة و هو يرحل بحسب وجود الرقم في احد العمودين.. كنا إنتهينا من هذا سابقا علي ماأذكر عن طريق الـ Data > Validation أرجو التوضيح أكثر
طارق محمود قام بنشر مارس 22, 2010 قام بنشر مارس 22, 2010 بالنسبة لسؤالك في الملف : ورقة سند قبض هل يمكن أن أغير كود الترقيم بحيث يشمل حتى التالي: 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 كلما تمت عملية الترحيل
طارق محمود قام بنشر مارس 22, 2010 قام بنشر مارس 22, 2010 وبالنسبة لسؤالك في الملف : ورقة مبيعات عندي مشكلة و هي اني كلما ارحل اي شي .. أسفل موضع الخلية محددة قبل الترحسل يكتب لي رقم 1 أو 2 لل ادري ما هذا... أعتقد أنك غيرت في الكود بما يسبب عطل الكود والدوران في لووب لا نهائي عند السطر 450 450 x = Worksheets.Count For i = 1 To x If Worksheets(i).Name = S_NAME5 Then GoTo 450 Next i إذا استطعت انت تصليحه يكون أفضل
onlymanly قام بنشر مارس 22, 2010 الكاتب قام بنشر مارس 22, 2010 (معدل) مشكور أستاذنا طارق ع تعاونك معي و بارك الله لك في علمك.. الحمد لله زالت مشكلة تعليق الملف..بقي : **** تعديل الرقم التسلسلي يزيد رقم واحد فقط و لا يتعداه .. **** كود المراجعة -بعد التعديل- كذلك لا يعمل يتوقف الترحيل ولا يستجيب. ****ورقة القيودفيها مشكلة استاذي طارق.. المشكلة مش في منع المستخدم من اذدواجية القيد في أن واحد .. المشكلة عندما يكون معي 20 قيد في ورقة واحدة هذا يعني أني أحتاج أدخل في المويل (في المايكرو) فوق 240 إدخال أو أكثر ,,,, تخيل لما أدخل : إسم العميل (المدين) و رقمه و الشرح و الملاحظة و التاريخ و رقم السند و كذلك الطرف الآخر الدائن ... نفس الإدخالات و هذا كله مضروبا في 20 .. تخيل !!!!! بيكون جدا مرهق .هذا طبعا ليس ذنبك أستاذي حاشاك لكن أتسائل هل يوجد كود يختصر هذه الخطوات الطويلة ؟ و بارك الله فيك تم تعديل مارس 22, 2010 بواسطه onlymanly
طارق محمود قام بنشر مارس 23, 2010 قام بنشر مارس 23, 2010 السلام عليكم **** تعديل الرقم التسلسلي يزيد رقم واحد فقط و لا يتعداه .. لاأفهم ماتقصد ، المفروض أن هذا هو الحال فعلا **** كود المراجعة -بعد التعديل- كذلك لا يعمل يتوقف الترحيل ولا يستجيب. المفروض أن يتم تغيير المحتوي بناءا علي التعديلات التي عدلتهل علي الملف مثلا كود سند الصرف سطر المراجعة : 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
طارق محمود قام بنشر مارس 23, 2010 قام بنشر مارس 23, 2010 ****ورقة القيودفيها مشكلة استاذي طارق.. المشكلة مش في منع المستخدم من اذدواجية القيد في أن واحد .. المشكلة عندما يكون معي 20 قيد في ورقة واحدة هذا يعني أني أحتاج أدخل في المويل (في المايكرو) فوق 240 إدخال أو أكثر ,,,, تخيل لما أدخل : إسم العميل (المدين) و رقمه و الشرح و الملاحظة و التاريخ و رقم السند و كذلك الطرف الآخر الدائن ... نفس الإدخالات و هذا كله مضروبا في 20 .. تخيل !!!!! بيكون جدا مرهق .هذا طبعا ليس ذنبك أستاذي حاشاك لكن أتسائل هل يوجد كود يختصر هذه الخطوات الطويلة ؟ أكيد فيه أكثر من حل ولكني للأسف لست محاسبا وإلا كنت سهلت عليك كثيرا فقط إرسل لي نسخة من ورقة قيد واحدة بها 5 بيانات علي الأقل مع تكرارها وتوكل علي الله
onlymanly قام بنشر مارس 23, 2010 الكاتب قام بنشر مارس 23, 2010 جزاك الله خيرا استاذ طارق.. و أرفقت لك نموذج من القيود
onlymanly قام بنشر مارس 23, 2010 الكاتب قام بنشر مارس 23, 2010 جزاك الله خيرا استاذي طارق.. و مجهودك كبير علي و الله .. و لك لا أملك لك إلا الدعاء و أرفقت ملف القيود للمشاهدة قيود.rar
طارق محمود قام بنشر مارس 24, 2010 قام بنشر مارس 24, 2010 (معدل) السلام عليكم أخي العزيز مرفق ملف القيود ومعه كود يتم تشغيله من الزر الأخضر (ازدواجية) أعلي الورقة علي أن تقف في السطر المراد عمل ازدواجية له 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 تم تعديل مارس 24, 2010 بواسطه TareQ M
طارق محمود قام بنشر مارس 24, 2010 قام بنشر مارس 24, 2010 طبعا ممكن تطويره لتلافي الازدواجية أكثر من مرة وكذلك ممكن تطويرهلأن تدخل مجموعة قيود (مثلا دائنين) ثم تظلل عليها (أكثر من سطر) فيتم عمل الازدواجية لأكثر من سطر مرة واحدة
onlymanly قام بنشر مارس 24, 2010 الكاتب قام بنشر مارس 24, 2010 السلام عليكم لله أنت أستاذنا طارق.. على مساعدتك.. لكن للأسف الملف الذي ارسلته لا يحل مشكلتي في الترحيل .. عموما لا مشكلة أنا سأدخل بنفسي كل الإدخالات في المايكرو ولو كانت 240 :) لكن المشكلة الان عندي هي أن أكواد الترحيل فيها 20 عميل يتم الترحيل لحساباتهم .. و هذا يعني وجوب أن يكون القيد مشتملا على 20 حساب ..و إلا يتوقف المايكرو بمعنى: لو أني أريد ان اعمل قيود على 3 حسابات فقط ..فإن الترحيل سيتوقف لأن الـ 20 حساب غير مكتملة بياناتهم.. فهل هناك أمر معين يُضاف في المايكرو بحيث يقال له: لا يجب أن ترحل الحسابات الغير مسجلة في ورقة القيود بغض النظر عن وجود عدد 20 حساب هنا في المايكرو.. و جزاك الله خيرا طبعا لم يعمل الترقيم عندي على الشكل الذي كتبته أنت لي .. فأنا أكتب في المايكرو الكود التالي: n_ser = n_ser + 1 Range("E2").Value = "M1-2010- " & 1429 + n_ser و النتيجة في الترحيل الأول في الخلية E2 هي :M1-2010- 1430 أما بالنسبة لكود المراجعة فكذلك لم يعمل.. عموما أنا و الله أستحي من كثر طلباتي .. لكن ما باليد حيلة ... الله يوفقنا و إياك
طارق محمود قام بنشر مارس 24, 2010 قام بنشر مارس 24, 2010 (معدل) السلام عليكم ياأخي بالله لاتستحي بل إشرح اكثر فأنا لست محاسبا لذلك لاأفهم كثيرا من الطلبات تم تعديل مارس 24, 2010 بواسطه TareQ M
onlymanly قام بنشر مارس 24, 2010 الكاتب قام بنشر مارس 24, 2010 استاذ طارق شوف كود الترحيل بعد أن عدلته كيف صار متشعب Sub ÞíÏ() Dim xxx As String N_sER = N_sER + 1 Range("E2").Value = ("M1") & 31 + N_sER B = MsgBox(" åá ÃäÊ ãÊÃßÏ Ãäß ÊÑíÏ ÊÑÍíá åÐÇ ÇáÓäÏ ¿¿¿ ", vbOKCancel + vbQuestion + vbMsgBoxRight, " ÎíÇÑÇÊ ") If B = vbNo Then GoTo 7 If B = vbOK Then GoTo 66 7 End 66 S_KIND = "ÞíÏ" 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:=" Êã ÇáÊÑÍíá ÈäÌÇÍ æ ÇáÍãÏ ááå ", Title:=" ÇáÍãÏ ááå ÑÈ ÇáÚÇáãíä " MsgBox prompt:=" Úáíß ãÑÇÌÚÉ ÇáÞíã æ ÇáÊÔííß Úì ÇáãáÝÇÊ ", Title:=" ÇÔßÑ Çááå " B = MsgBox(" åá ÊÑíÏ Ãä ÊõÌÑíó Ãí ÚãáíÉ ÃÎÑì ¿¿¿¿¿¿ ", vbOKCancel + vbQuestion + vbMsgBoxRight, " ÎíÇÑÇÊ ") 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
طارق محمود قام بنشر مارس 24, 2010 قام بنشر مارس 24, 2010 السلام عليكم أخي العزيز أنظر للصورة التي أراها بالجهاز سأضطر لإرجاء الموضوع للغد عموما كنت قد جهزت لك شرح في كود القيد الأخير سأرفقه أيضا تفكر به حتي الغد برجاء قراءة آخر سطرين جيدا يمكن يفتح الله عليك بحل شرح كود القيد.rar
onlymanly قام بنشر مارس 24, 2010 الكاتب قام بنشر مارس 24, 2010 :$ أستاذ طارق أخوك ما يعرف شي في المايكرو ... و الله ما كنت أتجرأ ألمس نقطة فيه سابقا .. الذي جرأني اغير فيه و أختبر تغييري عدة مرات هو ملفك أول ملف ارسلته أنت و عدلت فيه أنا .. و من هناك بدأت اغيير , اتأمل في الأكواد .. كتن أشوفها و ما زلت طلاسم .. لا أعرف ما هو االأمر الذي يلغي السطر الذي تم ترحيله ولا شي . عموما سأحاول حتى أحصل على مطلوبي .. و لله أنت من غوث
طارق محمود قام بنشر مارس 24, 2010 قام بنشر مارس 24, 2010 أخي الحبيب كلنا كنا أسوأ كثيرا من بدايتك هذه علي سبيل المثال هذا الجزء من الكود اللي أرسلته إنت وأسفله كود آخر مكافيء له تماما ولكن أقصر منه 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 أعني أنه يمكن الحل دائما بطرق كثيرة وسوف تتعجب من قصرها والله الموفق
onlymanly قام بنشر مارس 24, 2010 الكاتب قام بنشر مارس 24, 2010 يا سبحان الله .. كم هو شيق هذا العلم... عرفتُ كيف اختصار هذا الأمر بالنسبة لكون الماييكرو يأخذ هذه الأوامر كدليل .. لكن ماذا أكتب كي أحدد موضع هذه الأرقام في صفحة التحريل 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
onlymanly قام بنشر مارس 24, 2010 الكاتب قام بنشر مارس 24, 2010 عندي اربع مشاكل : ألأولى: جعلت ملفك المبارك الأول يرحل لملف الحسابات و يرحل نسخة عبارة عن إرشيفة لأسناد الصرف و القبض.. واجهتني مشكلة في عدم معرفتي بإعطاء المايكرو دليل النسخة الإحتياطية التي عملتها فهي في دليل داخل دليل داخل دليل في نفس دليل ONLY الذي فيه ملفك .. و ارفقت صورة للمشكلة الثانية : عندما يرحل .. و يكون الإسم موجود لا يقبل تكراره لا أدري لماذا . و ارفقت صورة .. الثالثة: في ملف القيود.. يجبرني أن أعبي عشرين حساب حتى يتم الترحيل... فهل هناك حل ؟؟ يعني اريده يرحل الذي أكتبه له بغض النظر عن باقي العشرين لأني لا أحتاج أرحل لكل العشرين .. الرابعة: الكود يرحل ولو من غير قيمة في المدين أو الدائن... هل من حل؟ فيك البركة استاذي طارق.. خليني استغل رضاك :) Desktop.rar
طارق محمود قام بنشر مارس 25, 2010 قام بنشر مارس 25, 2010 (معدل) السلام عليكم سأرد علي ماتيسر وليس بالترتيب الثانية : عندما يرحل .. و يكون الإسم موجود لا يقبل تكراره لا أدري لماذا . و ارفقت صورة .. يبدو أنك لم تنتبه لتسلسل الأوامر عند إنشاء ورقة جديدة كنسخة من "SAMPLE" ثم إعادة تسميتها بإسم كذا فقبل لك لابد أن تتأكد انه لايوجد ورقة بهذا الإسم وإلا لاداعي لعمل نسخة أخري ، فقط فليذهب للخطوة التالية أعلم ان الموضوع ليس سهلا ولكنك ستخرج من هذه التجربة علي دراية بما يصلح لك من الأكواد أرفقت لك صورة من جزء من شرح الأمس بخصوص هذه الجزئيةوبه رسالة الخطأ التي أرفقها أنت تم تعديل مارس 25, 2010 بواسطه TareQ M
طارق محمود قام بنشر مارس 25, 2010 قام بنشر مارس 25, 2010 والآن مشكلة الدليل (أو المجلد) الذي تخزن فيه النسخة ألأولى: جعلت ملفك المبارك الأول يرحل لملف الحسابات و يرحل نسخة عبارة عن إرشيفة لأسناد الصرف و القبض.. واجهتني مشكلة في عدم معرفتي بإعطاء المايكرو دليل النسخة الإحتياطية التي عملتها فهي في دليل داخل دليل داخل دليل في نفس دليل ONLY الذي فيه ملفك .. و ارفقت صورة للمشكلة للسهولة في هذه المرحلة ، إجعل دليلا واحدا به كافة الأعمال فقط غير من أسماء الملفات وهذا الدليل هو ActiveWorkbook.Path بمعني أنك إذا كنت متأكد من 1. وجود ملفا آخر في نفس الدليل إسمه Accounts.xls مثلا وتريد وضع هذه البيانات فيه 2. أن هذا الملف مغلق عند هذه الخطوة فإنك تكتب كما بالكود السابق هكذا xxx = ActiveWorkbook.Path & "\" & "Accounts.xls" Workbooks.Open xxx لو أي من الشرطين غير متوافر سيعطي خطأ
طارق محمود قام بنشر مارس 25, 2010 قام بنشر مارس 25, 2010 (معدل) الثالثة: في ملف القيود.. يجبرني أن أعبي عشرين حساب حتى يتم الترحيل... فهل هناك حل ؟؟ يعني اريده يرحل الذي أكتبه له بغض النظر عن باقي العشرين لأني لا أحتاج أرحل لكل العشرين .. لا أفهم كيف يجبرك؟ أعني يبدو أنك أضفت للكود شرطا لاأعلمه لابد من إرسال الكود مع إستبدال الحروف العربية بأي إختصارات لها بالإنجليزية أرجو أن أكون فهمت المشكلة أنت قد وضعت له للقراءة جميع خلايا الورقة التي من الممكن إستخدامها بعدما ترسل الكود مع إستبدال الحروف العربية بأي إختصارات لها بالإنجليزية ، سأعدله بإذن الله ليقبل الترحيل بغض النظر عن ذلك تم تعديل مارس 25, 2010 بواسطه 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.