أناناس قام بنشر أكتوبر 4, 2015 قام بنشر أكتوبر 4, 2015 السلام عليكم ورحمة الله المساعدة فى طباعة حسابات الأستاذ الكود التالى يقوم بتوليد أرقام متتالية لنطاق معين بين رقم البداية ورقم النهاية هل بالإمكان إضافة جزئين للكود 1-الأول ليقوم بالبحث عن الإسم المقابل للمسلسل ( بدل عن دالة VLOOKUP الموجودة فى الخليتين C1 , C2 ) 2- يقوم بعمل تصفية تلقائية للبيانات للعمودين E , F وجزاكم الله خيرا LEDGER ACC.rar
أبوعيد قام بنشر أكتوبر 5, 2015 قام بنشر أكتوبر 5, 2015 وعليكم السلام ورحمة الله وبركاته تفضل جرب المرفق LEDGER ACC1.rar
أناناس قام بنشر أكتوبر 6, 2015 الكاتب قام بنشر أكتوبر 6, 2015 جزاك الله خيرا لكن الملف بطئ جدا ولا يقوم بعمل التصفية تلقائية للبيانات فهل من مساعدة
أبوعيد قام بنشر أكتوبر 7, 2015 قام بنشر أكتوبر 7, 2015 السلام عليكم ارجو الشرح أكثر للمشكلة الملف عندي يعمل تماما فعند الطباعة يعمل تصيفة للعمودين أي أنه لا يظهر في الطباعة إلا المطابق للخليتني في الأعلى تحياتي
أناناس قام بنشر أكتوبر 7, 2015 الكاتب قام بنشر أكتوبر 7, 2015 السلام عليكم ورحمة الله أخى الفاضل أبو عيد جزاك الله خيرا على ما تقدمه لإخوانك بالمنتدى الكود المطلوب يقوم بعمل الاتى 1- يولد الأرقام من رقم البداية وحتى رقم النهاية 2- يقوم مع كل مرة يتولد فيها الرقم بعمل بحث عن الرقم المتولد ووضع قيمة البحث فى الخليتين C2, C1 ثم يقوم بعمل تصفية ثم طباعة أى أنه مع كل رقم يقوم بعمل بحث وطباعة فمثلا لو وضعت أنا المطلوب 15 مسلسل فى كل مرة مع كل رقم يقوم بعمل بحث وتصفية وطباعة أما الكود الذى وضعته أنت لا يقوم بعمل التصفية إلا مرة واحدة فى الأخر
أناناس قام بنشر أكتوبر 8, 2015 الكاتب قام بنشر أكتوبر 8, 2015 لمزيد من الإيضاح للإخوة المشاركين للوصول الى كود مميز يقوم بهذه الفكرة أريد أن أضع مثلا فى الخلية H1 من الرقم مثلا 5 وفى الخلية H2 الى الرقم مثلا 10 فتظهر النتيجة ( 5 ) فى الخلية F1 ومقابل البحث لها فى الخليتين c2 , c1 ثم التصفية للعمودين E , F بناءا على قيمة c2 , c1 ثم Calculate ثم الطباعة ثم النتيجة ( 6 ) فى الخلية F1 ومقابل البحث لها فى الخليتين c2 , c1 ثم التصفية للعمودين E , F بناءا على قيمة c2 , c1 ثم Calculate ثم الطباعة ثم النتيجة ( 7 ) فى الخلية F1 ومقابل البحث لها فى الخليتين c2 , c1 ثم التصفية للعمودين E , F بناءا على قيمة c2 , c1 ثم Calculate ثم الطباعة ثم النتيجة ( 8 ) فى الخلية F1 ومقابل البحث لها فى الخليتين c2 , c1 ثم التصفية للعمودين E , F بناءا على قيمة c2 , c1 ثم Calculate ثم الطباعة ثم النتيجة ( 9 ) فى الخلية F1 ومقابل البحث لها فى الخليتين c2 , c1 ثم التصفية للعمودين E , F بناءا على قيمة c2 , c1 ثم Calculate ثم الطباعة ثم النتيجة ( 10 ) فى الخلية F1 ومقابل البحث لها فى الخليتين c2 , c1 ثم التصفية للعمودين E , F بناءا على قيمة c2 , c1 ثم Calculate ثم الطباعة
أناناس قام بنشر أكتوبر 12, 2015 الكاتب قام بنشر أكتوبر 12, 2015 للرفع للوصول الى كود إحترافى يقدم المطلوب وهذا بدون تقليل لجهد السيد المبارك أبو عيد وبارك الله فيكم
أناناس قام بنشر أكتوبر 15, 2015 الكاتب قام بنشر أكتوبر 15, 2015 للرفع للوصول الى كود إحترافى يقدم المطلوب وهذا بدون تقليل لجهد السيد المبارك أبو عيد وبارك الله فيكم
ياسر خليل أبو البراء قام بنشر أكتوبر 15, 2015 قام بنشر أكتوبر 15, 2015 أخي الكريم أناناس (ممكن نغير الفاكهة نخليها رمان عشان بعز الرمان حبتين) إليك الكود التالي عله يفي بالغرض (وإن كنت أرى أن كود الأخ أبو عيد حفظه الله يعمل بشكل جيد ) ، ولكن من باب إثراء الموضوع جرب الكود Sub MAIN() 'تعريف المتغيرات Dim I As Long 'إلغاء خاصية اهتزاز الشاشة Application.ScreenUpdating = False '[H2] وتنتهي بالقيمة الموجودة في الخلية [H1] حلقة تكرارية تبدأ من القيمة الموجودة في الخلية For I = Range("H1") To Range("H2") '[I] تساوي قيمة المتغير [F1] الخلية Range("F1") = I 'بدء التعامل مع ورقة العمل النشطة With ActiveSheet '[DATA] ونطاق البحث ورقة البيانات [F1] تساوي قيمة دالة البحث عن القيمة الموجودة في الخلية [C1] الخلية 'يتم البحث في ورقة البيانات في العمود الثاني .Range("C1").Value = Application.WorksheetFunction.VLookup(.Range("F1").Value, Sheets("DATA").Range("A2:C19"), 2, 0) '[DATA] ونطاق البحث ورقة البيانات [F1] تساوي قيمة دالة البحث عن القيمة الموجودة في الخلية [C1] الخلية 'يتم البحث في ورقة البيانات في العمود الثالث .Range("C2").Value = Application.WorksheetFunction.VLookup(.Range("F1").Value, Sheets("DATA").Range("A2:C19"), 3, 0) 'إلغاء الفلترة في ورقة العمل النشطة .AutoFilterMode = False '[C1] بشرط القيمة في الخلية [E] فلترة البيانات على الحقل الرابع أي العمود .Range("B5:F5").AutoFilter Field:=4, Criteria1:=.Range("C1").Value '[C2] بشرط القيمة في الخلية [F] فلترة البيانات على الحقل الخامس أي العمود .Range("B5:F5").AutoFilter Field:=5, Criteria1:=.Range("C2").Value '[F1] إذا كانت قيمة المتغير أصغر من القيمة الموجودة بالخلية If I <= .Range("F1") Then 'إعادة الحسابات في ورقة العمل النشطة كنوع من التحديث للبيانات .Calculate '[PrintOut] بكلمة [PrintPreview] معاينة ورقة العمل وتتم الطباعة باستبدال كلمة ActiveWindow.SelectedSheets.PrintPreview End If 'إلغاء الفلترة في ورقة العمل النشطة .AutoFilterMode = False End With 'الانتقال لقيمة المتغير التالية Next I 'إعادة تفعيل خاصية اهتزاز الشاشة Application.ScreenUpdating = True End Sub تقبل تحياتي 1
أناناس قام بنشر أكتوبر 15, 2015 الكاتب قام بنشر أكتوبر 15, 2015 أخى الكريم ياسر خليل بارك الله فيك الكود جيد هل بالامكان تسربع الحصول على النتائج التى ينفذها هذا الكود ولو بكود أخر
ياسر خليل أبو البراء قام بنشر أكتوبر 15, 2015 قام بنشر أكتوبر 15, 2015 أخي الكريم الكود يعمل بشكل سريع جداً معي وخصوصاً أنه لا توجد أي حلقات تكرارية في الكود وهذا يعني أن الكود سريع.. ومن المتعارف عليه أن الفلترة أسرع بكثير من الحلقات التكرارية ... لا أجد الكود بطيئاً على الإطلاق .. هل الكود مطبق على ملف آخر .. قد يكون هناك أكواد أخرى هي السبب في تعارض عمل الكود جرب تلغي خاصية الحسابات خليها Manual قبل بداية الكود .. أو ارفق ملفك الأصلي الذي به مشكلة البطء تقبل تحياتي
أناناس قام بنشر أكتوبر 15, 2015 الكاتب قام بنشر أكتوبر 15, 2015 أخ ياسر بارك الله فيك سأرسل لك الملف وأرجو منك التكرم بالغاء تلك الخاصية التى أشرت بها ( جرب تلغي خاصية الحسابات خليها Manual قبل بداية الكود ).. أخ ياسر بارك الله فيك سأرسل لك الملف وأرجو منك التكرم بالغاء تلك الخاصية التى أشرت بها ( جرب تلغي خاصية الحسابات خليها Manual قبل بداية الكود )..
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.