بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

G42U
02 الأعضاء-
Posts
50 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو G42U
-
أخي الكريم أنظر الملف المرفق بعد التعديل يمكن أن يكون هذا هو المطلوب
-
هناك عدة طرق لعمل هذا لكني عملت على الطريقة على أفتراض ان قيمة الخصم لن تزيد عن 100 إذا كان السعر أكبر من أو يساوي 1500 حتى لو كان السعر 1000000000000000 فمثلاً لو أردت إدراج قيمة خصم جديدة ستطر في كل مرة تعدل هذا الاجراء. إذا كان كذلك أنصحك بعمل جدول لسعر الخصم مثلاً: من ---------------- إلى ------------------ الخصم 1500 ----------- 3000 ------------------ 100 3001 ----------- 4500 -----------------200 ثم تقوم بعمل إستعلام لإيجاد قيمة الخصم لسعر الوحدة الذي قام المستخدم بإدخالة وتقوم بإنقاص سعر الوحدة (جدول الوحدات) - قيمة الخصم (جدول الخصم) SELECT [Unit Price].UnitName, [Unit Price].UnitID, [Unit Price].UnitPrice, [UnitPrice]-[discount] AS AfterDiscount FROM discount, [Unit Price] WHERE ((([Unit Price].UnitPrice) Between [dFrom] And [dTo])); فهذه الطريقة أحسن ولست مضطر لتخزين (السعر بعد الخصم) في الجدول فتخزين قيم محسوبة في الجدول طريقة غير صحيحة. عموما أنا قمت بعمل الطريقتين الاول هي كود مكتوب ينفذ مباشرةً في النموذج والثانية يمكنك بناء نموذج جديد وجعل مصدر البيانات له من الاستعلام. تحياتي
-
اخي الكريم جرب هذه المعادلة =DATE(YEAR(NOW())+B3,MONTH(NOW())+B2,DAY(NOW())+B1) ضع المعادلة في أي خلية ضع عدد الايام التي ترغب في إضافتها في الخلية B1 ضع عدد الاشهر التي ترغب في إضافتها في الخلية B2 ضع عدد السنوات التي ترغب في إضافتها في الخلية B3 يمكنك أستبدال Now() بقيمة التاريخ التي تريد إضافتها إليه مثلاً: لو حبينا نضيف 5 أيام على التاريخ 1/4/2006 سنكتب الدالة بهذا الشكل: =DATE(2006,4,1+5) لم أجرب التاريخ الهجري إذا قمت بتجربة نفس الطريقة مع التاريخ الهجري فأخبرني بما حصل معك
-
ما الخطأ في هذا الكود الذي يجعل الرسالة تظهر مرتين
G42U replied to عادل صادق's topic in منتدى الاكسيل Excel
أخي الكريم أنت قمت بكتابة رسالتين بعد عبارة for عندما يقوم المستخدم بتغيير القيمة أحدى الخلايا في H3:H378 تظهر الرسالة الأولى MsgBox strMsgPrompt, intButType, strMsgTitle ثم تظهرالرسالة الثانية الواقعة داخ عبارة if If MsgBox(strMsgPrompt, intButType, strMsgTitle) = vbYes Then يكفي أن تستخدم الرسالة الثانية فقط، وهذا هو الكود بعد التعديل Private Sub Worksheet_Change(ByVal Target As Range) Dim inters As Range, x As Range Dim intButSelected As Integer, intButType As Integer Dim strMsgPrompt As String, strMsgTitle As String Set inters = Intersect(Target, Range("H3:H378")) strMsgPrompt = "Have you changed the engine oil?" strMsgTitle = "Engine Oil" intButType = vbYesNo + vbQuestion + vbDefaultButton2 If inters Is Nothing Then Exit Sub For Each x In inters If x.Value <> 0 Then If MsgBox(strMsgPrompt, intButType, strMsgTitle) = vbYes Then Range("H3:H378").Font.ColorIndex = 0 x.Font.ColorIndex = 3 Sheets("Sheet1").Range("L5").Value = x.Value Else End End If End If Next End Sub -
أذهب إلى tools > options > view ضع علامة صح على New object shortcuts
-
للأتصال بقاعدة بيانات oracle من داخل access بأستخدام ADO نستخدم oledb provider مثلاً: "Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;" للأسف قمت بحذف الأوراكل من جهازي ولا أستطيع ولا أستطيع التأكد من عمل العبارة السابقة بدون وجود MSDAORA
-
السلام عليكم إذا كنت تريد إرجاع عدد موجب أستخدم الدالة Abs مثل: MyNumber = abs(Int(-99.2)) ' Returns 100
-
السلام عليكم لحساب عدد الاشهر بين تاريخين هجريين =UmDateDiff("m",A2,A3) ولحساب عدد الايام بين تاريخين هجريين أستخدم الحرف d
-
الدوال المالية (financial function) توجد عدة دوال تستطيع إجراء عدة عمليات على في الامور المالية بأستخدام الدوال المالية مثل حساب إهلاك الاصول الثابته أو الدفعات المستحقة. وهذه بعض الدوال المالية: الدالة PMT تقوم بحساب الدفعة الشهرية الدورية اللازمة لتسديد قرض. PMT(rate,nper,pv,fv,due) rate: معدل الفائدة السنوية nper: عدد الدفعات pv: مبلغ القربض fv: القيمة المستقبلية بعد سداد آخر دفعة due: رقم يوضح متى تستحق الدفعات الدورية. الرقم صفر معناه أن الدفعات تستحق في نهاية المدة والرقم 1 مهناه ان الدفعات تستحق في بداية المدة. الدالة PV تقوم بحساب القيمة الحالية لدفعات متساوية يعني ما هو المبلغ الذي تستطيع الحصول عليه الآن لتقوم بسداده على دفعات دورية بمعدل ثابت لمدة زمنية PV(rate,nper,pmt,fv,due) rate: معدل الفائدة nper: المدة (عدد الدفعات) pmt:مبلغ الدفعة الدورية fv: القيمة المستقبلية بعد سداد آخر دفعة due: رقم يوضح متى تستحق الدفعات الدورية. الرقم صفر معناه أن الدفعات تستحق في نهاية المدة والرقم 1 مهناه ان الدفعات تستحق في بداية المدة. الدالة FV تقوم بحساب القيمة المستقبلية لمبلغ معين تريد إيداعه على دفعات بمعدل فائدة ثابت. وهي تشبه الدالة PV ولاكنها تحسب المبلغ في تاريخ لاحق. (FV(rate,nper,pmt,pv,due) rate: معدل الفائدة nper: المدة (عدد الدفعات) pmt: المدة (عدد الدفعات) pv: المبلغ الموجود قبل إيداع الدفعات due: رقم يوضح متى تستحق الدفعات الدورية. الرقم صفر معناه أن الدفعات تستحق في نهاية المدة والرقم 1 مهناه ان الدفعات تستحق في بداية المدة. الدالة RATE تقوم هذه الدالة بحساب معدل الفائدة الدورية التي يمكن الحصول عليها شهريا لاستثمار مبلغ حالي ليصبح مبلغا معلوماً بعد فترة معينة. RATE(npre,pmt,pv,fv,due,guess) npre:عدد الدفعات الدورية pmt:مبلغ الدفعة الدورية pv:القيمة المستقبلية للمبلغ fv:القيمة الحالية للمبلغ due:: رقم يوضح متى تستحق الدفعات الدورية. الرقم صفر معناه أن الدفعات تستحق في نهاية المدة والرقم 1 مهناه ان الدفعات تستحق في بداية المدة. guess:المبلغ الذي تتوقع الحصول عليه بمعدل فائدة معين وعادة يكون 10% الدالة DDB تستخدم هذه الدالة في حساب قيمة إهلاك الاصول الثابته بطريقة الاستهلاك المتناقص (Double-Declining-Balance) ومعروف في المحاسبة أن قسط الاهلاك طبقا لهذه الطريقة يكون غالبا في السنوات الاولى من عمر الاصل الثابت DDB(cost,solvage,life,period) cost: ثمن شراء الاصل solvage: قيمة الاصل في نهاية المدة life: العمر الافتراضي للأصل period: سنة معينة تحسب فيها قيمة الاصل الدالة SLN تستخدم لحساب الخط المستقيم لانخفاض قيمة ملكية معينةخلال فترة دورة زمنية معينة. يعني قسط الاهلاك السنوي الثابت للأصل وتصمى في المحاسبة (Straight-Line-Depreciation). SLN(cost,solvage,life) cost: ثمن شراء الاصل solvage: قيمة الاصل في نهاية المدة life: عدد سنوات الخدمة للأصل الدالة SYD تستخدم هذه الدالة في حساب قيمة إهلاك الاصول الثابته بطريقة تسمى Sum-of-the-year's-digit-Depreciation SYD(cost,solvage,life,period) cost: ثمن شراء الاصل solvage: قيمة الاصل في نهاية المدة life: العمر الافتراضي للأصل period: سنة معينة تحسب فيها قيمة الاصل هناك دوال أخرى ولكن ......! وإذا توفر عندي وقت سأرفق مثال على هذه الدوال أتمنى الفائدة للجميع
-
مثال: عمل تواريخ استحقاق الاقساط الشهرية اعتمادا علي عدد الاقساط وتاريخ القسط الاول تواريخ استحقاق الاقساط الشهرية
-
أنطر المثال تحديد تاريخ استحقاق القسط الاخير
-
هل يمكن عمل تواريخ استحقاق الاقساط الشهرية اعتمادا علي عدد الاقساط وتاريخ القسط الاول ،، بحيث يعطي تقرير رقم القسط وتاريخ استحقاقه نعم ذلك ممكن!
-
السلام عليكم لمعرفة تاريخ القسط الاخير: بما أن عدد الاقساط هو نفسه عدد الشهور تقوم بإضافة عدد الاقساط على أنه مدة الشهور المضافة إلى التاريخ وأفضل طريقة هي أستخدام الدالة dateadd ExpiryDate =dateadd("m",InstallmentNo -1,StartDate ) قمت بأنقاص عدد الاقساط بمقدار قسط واحد لأن الدالة تقوم بإضافة قيمة InstallmentNo إلى عدد تاريخ القسط الاول ولإضافة مدة محددة على تاريخ استحقاق القسط التالي: يجب إيجاد تاريخ آخر دفعة تم تسديدها ثم نقوم بإضافة شهر واحد والافضل أستخدام الدالة DLast مع إضافة الشروط إليها LastPaymentDate=DLast("StartDate","PaymentTable","CustomerID="& CustomerID) NextPaymentDate =dateadd("m",1,LastPaymentDate) LastPaymentDate متغير قمت بتعريفه لاسناد تاريخ آخر دفعة إليه PaymentTable الجدول دفعات العملاء CustomerID رقم العميل الحالي NextPaymentDate تاريخ الدفعة التالية
-
أشكر االأعضاء والشرفين في المنتدى على تجاوبهم مثل المجلة. فلو أفترضنا أن المجلة مكونة من 12 صفحة صيتم طباعتها على 6 ورقات كل ورقة تحتوي على صفحتين. وسيكون ترتيب الصفحات كالتالي: 1 مع 12 2 مع 11 3 مع 10 4 مع 9 5 مع 8 6 مع 7 _________________ |___1___|____12___| شاكرين لكم
-
السلام عليكم في صفحة تحتوي على ورقتين في ورقة واحدة. كيف أقوم بطباعة أول صفحة مع آخر صفحة، والصفحة الثانية مع الصفحة ماقبل الأخيرة ............... ؟ تحياتي لأعضاء المتدى
-
أخي الكريم جمال فايز السلام عليكم يجب إضافة المرجع (References) microsoft office 11.0 object library وذلك حسب إصدار نسخة الاوفيس لديك، والمعذرة على عدم ذكر هذه النقطة. أما عن الإختبار فالكود يعمل عندي بدون أي مشكلة. وأرجو منك أنتخبرني عن رسالة الخطأ التي توقف عندها عند أستخدام disableCustomize ضع الكود عند تحميل النموذج وإذا تم حل المشكلة وعمل عندك الكود جرب أغلق النموذج وأعد تحميلة مرة أخرى ستصبح النتيجة عكسية وفي الواقع يمكنك الاستغناء عن الكود وأستخدام: application.commandBars.disableCustomize =true تحياتي
-
بالنسبة لتحويل الرقم 0001-001-01-1-1 إلى باركود أستخدم هذه الدالة Private DataToPrint As String Private OnlyCorrectData As String Private StringLength As Integer Private I As Integer Private WeightedTotal As Long Private CurrentCharNum As Integer Private CheckDigit As Integer Public Function Postnet(DataToEncode As String, ReturnType As Integer) As String DataToPrint = "" DataToEncode = RTrim(LTrim(DataToEncode)) ' Check to make sure data is numeric and remove dashes, etc. OnlyCorrectData = "" StringLength = Len(DataToEncode) For I = 1 To StringLength 'Add all numbers to OnlyCorrectData string If IsNumeric(Mid(DataToEncode, I, 1)) Then OnlyCorrectData = OnlyCorrectData & Mid(DataToEncode, I, 1) Next I DataToEncode = OnlyCorrectData '<<<< Calculate Check Digit >>>> WeightedTotal = 0 StringLength = Len(DataToEncode) For I = 1 To StringLength 'Get the value of each number CurrentCharNum = Mid(DataToEncode, I, 1) 'add the values together WeightedTotal = WeightedTotal + CurrentCharNum Next I 'Find the CheckDigit by finding the number + WeightedTotal that = a multiple of 10 'divide by 10, get the remainder and subtract from 10 I = (WeightedTotal Mod 10) If I <> 0 Then CheckDigit = (10 - I) Else CheckDigit = 0 End If 'Get Printable String DataToPrint = DataToEncode 'ReturnType 0 returns data formatted to the barcode font If ReturnType = 0 Then Postnet = "(" & DataToPrint & CheckDigit & ")" & " " 'ReturnType 1 returns data formatted for human readable text If ReturnType = 1 Then Postnet = DataToPrint & CheckDigit 'ReturnType 2 returns the check digit for the data supplied If ReturnType = 2 Then Postnet = Str$(CheckDigit) End Function سيكون ناتج تحول الرقم بعد التحول بهذه الطريقة: Postnet("0001-001-01-1-1", 0) الناتج هو (000100101115) الدالة موجودة عند من وقت طويل حصلت عليها من هذا الموقع http://www.BizFonts.com/vba
-
لمنع ظهور كلمة تخصيص في القائمة عند النقر بزر الماوس الايمن ومن قائمة أدوات Sub ToggleCustomize() With Application.CommandBars If .DisableCustomize = True Then .DisableCustomize = False Else .DisableCustomize = True End If End With End Sub
-
السلام عليكم 1- قم بأنشاء جدول جديد فيه حقل من النوع Number 2-بعد حفظ الجدول قم بفتحه في طريقة عرض البيانات وأدخل في الحقل الذي انشئناه أي رقم تريد 200 مثلاً 3- قم بأنشاء أستعلام على هذا الجدول ومن القائمة أستعلام أختر أستعلام ألحاقي 4- من النافذة ألحاق أختر الجدول الذي فيه حقل الترقيم التلقائي الذي تريده أن يبدأ من 200 وذلك من القائمة أسم الجدول ، ثم أضغط موافق 5- في الاستعلام في طريقة عرض التصميم وعند (ألحاق بــ) أختر حقل الترقيم التلقائي الذي تريده أن يبدأ من 200 6- من القائمة (أستعلام) أختر تشغيل تحياتي