ميلان قام بنشر أغسطس 16, 2020 قام بنشر أغسطس 16, 2020 السلام عليكم احبائي في الله في هذا المنتدى الجميل لدي ملف شيت فيه بيانات قرابة مئة مشترك شهريا من اسم ورقم العميل والقراءات .....الخ وفي الشيت الاخر نموذج لطباعة الفاتورة كل صفحة تحتوي على ثمان فواتير حاولت اعمل كود برمجي يرحل البيانات من اول شيت لصفحة الطباعة عن طريقة رقم العميل فقط لكن فشلت وارجو المساعدة يعني اريد ان اكتب رقم العميل في صفحة الطباعة ويتم استدعاء بياناته من الشيت الاساسي وشكرا لكم . اخوكم من سوريا تحية لكم . فاتورة كهرباء.xlsx
سليم حاصبيا قام بنشر أغسطس 16, 2020 قام بنشر أغسطس 16, 2020 1-الخلايا المدمجة تعيق عمل اي كود او معادلة تم تغيير تصميم الورقة الثانية بدون خلايا مدمجة 2- تختار من الخلية I2 الرقم الذي سوف يبدأ العمل منه 3- اذا كانت الخلية I2 ليست رقما أو اكبر من اخر رقم في الصفحة الأولى يبدأ العداد من الرقم 1 4- اختر الرقم الذي تريده ثم اضغط على الزر Run الكود Option Explicit Dim s As Worksheet Dim T As Worksheet Dim last As Long, Ro% Dim s_rg As Range Dim i%, K%, My_ro1%, My_ro2%, My_ro% Dim m As Byte, n As Byte, xx As Byte '++++++++++++++++++++++++++++++++ Sub Fatura() Application.ScreenUpdating = False Set s = Sheets("Source") Set T = Sheets("Target") xx = 1 last = s.Cells(Rows.Count, 1).End(3).Row If Val(T.Range("I1")) <= 0 Then i = 1 Else i = Int(Abs(T.Range("I1"))) End If T.Range("I1") = i T.Range("Rg_ALL").ClearContents For K = i + 3 To i + 10 If K > last Then Exit For Select Case xx Mod 8 Case 1: m = 2: n = 2 Case 2: m = 2: n = 4 Case 3: m = 10: n = 2 Case 4: m = 10: n = 4 Case 5: m = 18: n = 2 Case 6: m = 18: n = 4 Case 7: m = 26: n = 2 Case 0: m = 26: n = 4 End Select s.Cells(K, 1).Resize(, 7).Copy T.Cells(m, n).PasteSpecial _ xlPasteValuesAndNumberFormats, Transpose:=True xx = xx + 1 Next Application.CutCopyMode = False Print_Area T.Cells(2, 1).Select Application.ScreenUpdating = True End Sub '+++++++++++++++++++++++++++++++++++ Sub Print_Area() Set T = Sheets("Target") Ro = T.Cells(Rows.Count, 3).End(3).Row For i = 2 To Ro - 6 Step 8 If T.Cells(i, 4) <> "" Then My_ro1 = i + 6 End If Next For i = 2 To Ro - 6 Step 8 If T.Cells(i, 2) <> "" Then My_ro2 = i + 6 End If Next My_ro = Application.Max(My_ro1, My_ro2) T.PageSetup.PrintArea = T.Range("A1:D" & My_ro).Address End Sub الملف مرفق Mhd_Syr.xlsm 1
أفضل إجابة سليم حاصبيا قام بنشر أغسطس 16, 2020 أفضل إجابة قام بنشر أغسطس 16, 2020 ملف احر اكثر توضيحاً (يسمح لك بقص الفواتير كل واحدة منفردة ) و ذلك بوضع صف فارغ تحتها وعامود فارغ الى جانبها) اذا كانت هناك فواتير فارغة لا تطبع Mhd_Sr.xlsm 1 2
abouelhassan قام بنشر أغسطس 16, 2020 قام بنشر أغسطس 16, 2020 حضرتك رائع والله رجل المهام الصعبة ادام الله عزك وعلمك اخى فى الله استاذ سليم 2
ميلان قام بنشر أغسطس 18, 2020 الكاتب قام بنشر أغسطس 18, 2020 استاذ @سليم حاصبيا شكرا كثيرا لمجهودك الكبير استاذنا لم اتوقع الرد على سؤالي من احد لكن نعم هناك استاذ سليم دائما في كل مكان شكرا جزيلا لك .
سليم حاصبيا قام بنشر أغسطس 18, 2020 قام بنشر أغسطس 18, 2020 الرّجاء اخباري اي ملف من الاثنين سوف تستعمل
ميلان قام بنشر أغسطس 18, 2020 الكاتب قام بنشر أغسطس 18, 2020 اظن ان الملف الثاني افضل جزاك الله كل خير يا استاذنا الكبير سليم اظن ان الملف الثاني يفي بالغرض كل التحية والحب والاحترام لمجهودك الرائع . 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.