اخواني الاعزاء وانا ابحث عن حل لمشكلتي صادفت هذا المنتدى المميز فقمت بالتسجيل فيه .
نسال الله ان يوفقنا لما يحب ويرضى
بحثت في المنتدي لكني لم اجد الاجابة الشافية لطلبي لذا طرحت هذا الموضوع آملا من الاخوة الأكارم النظر فيه
طلبي يختلف قليلا عن المعتاد لانه ليس فيه ملف اكسل مرفق
عموما انا عندي برنامج صممته ب فيجوال بيزك 6 وفيه وظيفة حفظ بعض البيانات ( فواتير) كل واحدة في شيت جديد
داخل ملف الاكسل موجود في دليل البرنامج اسمه MyDB - عند تحميل الفورم الرئيسئ تلقائيا يتم فتح الملف بالامر التالي :
حدث لود للفورم الرئيسي
set MyDB = Exl.workbooks.open(App.path & "\myDB.xls")
فاريد ان اعمل لاي فاتورة شيت جديد باسم جديد
اسم الشيت يتم أخذه من تكست بوكس موجود في الفورم اسمه Text1
الحدث كليك في زر اضافة فاتورة جديدة: يتم استدعاء الدالة NweSheeetCustomeName من موديول موجود بالبرنامج
الاكواد الموجودة في الموديول ( طبعا اظن هذا الكود من ابداعات الاستاذ خبور خير ) :
Dim Exl As Excel.Application
Dim MyDB As Excel.Workbook
Sub NweSheeetCustomeName()
Dim SheetName As String
workbooks("MyDB").Select
SheetName=Text1.Text
If SheetName = "" Or Len(SheetName) > 31 Then
MsgBox ("You did not insert a name OR sheet name lenth is greater than 31 Characther")
Exit Sub
End If
Sheets.Add.Name = SheetName
End Sub
_____________________________
ماهو الخطأ الذي ارتكبته وانا لا ادري ؟
ثانيا هذا الخطأ ايضا يحدث في حالة الترحيل من الفورم الي شيت او من الشيت الي شيت اخر
فاذا تبين الخطأ تمكنا من حل مشكلة النقل والنسخ
طبعا ملف الاكسل فيه شيت واحد فقط وبه تنسيقات معينة للاعمدة يتم نسخها في كل فاتورة جديدة (شيت جديد )
_____________________
بارك الله فيكم .. وفي انتظار ابداعاتكم أخوكم ( الفدائي )