بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 10/12/14 in all areas
-
وعليكم السلام ورحمة الله وبركاته في المرفق يتم تعبئة اي Label يبدأ اول ثلاثة احرف من اسمه بـ lbl وتتم التعبئة من عمود البحث حسب الرقم في اخر اسم الـ Label ارجو ان يكون المطلوب في امان الله مثال رقم 5.rar2 points
-
السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير اطلب المسامحة ممن راسلني ولم يجد رد مني هديتي لكم بعد هذه الغيبة Option Explicit '========================================================" ' بسم الله الرحمن الرحيم " '========================================================" ' (دالة تحويل الرقم الى نص باللغة العربية (تفقيط " ' kh_TextNum " '========================================================" 'Num الرقم " '========================================================" 'sex جنس العملة " 'FALSE ( فارغ او صفر مذكر ) " 'TRUE ( أو اي رقم غير الصفر مؤنث ) " '========================================================" 'sNameCurr اسم العملة الرئيسية مفرد " 'pNameCurr اسم العملة الرئيسية جمع " 'NameCurrDec اسم العملة الكسرية " 'Decimal_Count طول الكسر افتراضـياً : بدون اظهار الكسر " '===============================================================================================================================================" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" '===============================================================================================================================================" ' ملاحظات ' (اولاً : العملة الرئيسية مثنى (يقوم بها الكود تلقائيا ' مع ملاحظة اذا اسم العملة ينتهي بالتاء المربوطة ' يجب ان يكتب كذلك وليس بالهاء ' ----------------------- ' ثانياً : اذا كانت العملة الرئيسية مفرد فارغاً تعتبر ' اسماء العملات (الجمع والكسري) فارغة تلقائيا ' ----------------------- 'ثالثاً : الكلمة الابتدائية بامكانك تغييرها او تجعلها فارغة Private Const MyBegTx As String = "فقط " ' "" ' ----------------------- ' MyTNum رابعا : يمكنك التغيير (اضافة,حذف,تحرير) في الثابت ' للفئات الصفرية للرقم ادناه Private Const MyTNum As String = "ألف-آلاف/مليون-ملايين/مليار-مليارات/بليون-بلايين/بليار-بليارات/ترليون-ترليونات/تريليار-تريليارات/كدرليون-كدرليونات" '===============================================================================================================================================" 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" '===============================================================================================================================================" Function kh_TextNum(Num As String, Optional sex As Boolean = False, Optional sNameCurr As String = "", Optional pNameCurr As String = "", Optional NameCurrDec As String = "", Optional Decimal_Count As Byte = 2) As String Dim Spp, zt Dim i%, ii%, pr% Dim MyMid$, nCurr$, Txt$, Txt1$, Txt2$ '====================================== If Not IsNumeric(Num) Then GoTo kh_Exit Spp = Split("/" & MyTNum, "/") ii = UBound(Spp) If Num < 0 Then Num = Abs(Num) '====================================== If Val(Num) > Val(String((ii + 1) * 3, "9") & ".999") Then GoTo kh_Exit '====================================== nCurr = sNameCurr & "-" & IIf(pNameCurr = "", sNameCurr, IIf(sNameCurr = "", "", pNameCurr)) '====================================== Txt1 = Format(Num, String((ii + 1) * 3, "0") & ".000") For i = 0 To ii MyMid = Mid(Txt1, (i * 3) + 1, 3) If MyMid Then zt = Mid(Txt1, (i * 3) + 4, Len(Txt1)) zt = IIf(ii - i, Int(zt), zt) Txt2 = IIf(ii - i, Trim(Spp(ii - i)), nCurr) pr = 1 + IIf(ii - i, 1, CInt(sex)) Txt = Txt & IIf(Len(Txt), " و", "") & kh_nText(MyMid, Txt2, pr, zt, CBool(sNameCurr <> "")) End If If i = ii Then If MyMid = 0 Then Txt = Txt & IIf(Len(Txt), " ", "صفر ") & sNameCurr Next '====================================== Txt = MyBegTx & Txt & kh_dText(Num, sNameCurr, NameCurrDec, Decimal_Count) '====================================== kh_Exit: kh_TextNum = Trim(Txt) End Function ' معالجة العدد من 1 الى 999 لكل فئات الرقم Private Function kh_nText(ByVal iNum As String, ByVal oMm As String, ByVal ibs As Integer, ByVal z As Boolean, ByVal tCu As Boolean) As String Dim Sp Dim Num1%, Num2%, Num3% Dim oM$, S$, S1$, nT$, nT0$, nT1$, nT2$ '====================================== Sp = Split("واحد,إحدى,اثنتان,ثلاث,أربع,خمس,ست,سبع,ثمان,تسع,عشر,إحدى ,اثنتا ", ",") '====================================== If ibs Then S = "ة": Sp(1) = Sp(0): Sp(2) = "اثنان": Sp(11) = "أحد ": Sp(12) = "اثنا " Else S1 = "ة" oM = Trim(Split(oMm, "-")(0)) '====================================== Num1 = Left(iNum, 1) Num2 = Right(iNum, 2) Select Case Num1 Case 1: nT0 = "مائة" Case 2: nT0 = "مائتا" & IIf(ibs = 2, IIf(Num2 < 3, "", "ن"), IIf(Num2 = 0 And oM <> "", "", "ن")) Case 3 To 9: nT0 = Sp(Num1) & "مائة" End Select '========================================= Num1 = Right(iNum, 2) Select Case Num1 Case 1, 2: If nT0 <> "" Then If ibs = 2 Then nT0 = nT0 & " " & oM Case 11 To 99: If oM <> "" Then If ibs Then If z Then oM = oM & "اً" End Select '----------------------------------------- Select Case Num1 Case 1 nT = IIf(oM = "", Sp(0) & S1, oM) oM = IIf(ibs <> 2 And oM <> "", Sp(0) & S1, "") Case 2 nT = IIf(oM = "", Sp(Num1), Replace(oM, "ة", "ت") & IIf(z = 0 And ibs = 2 And tCu, "ا", "ان")) oM = IIf(ibs <> 2 And oM <> "", Sp(Num1), "") Case 3 To 10 oM = Trim(Split(oMm, "-")(1)) nT = Sp(Num1) & S Case 11, 12 nT = Sp(Num1) & Sp(10) & S1 Case 13 To 19 nT = Sp(Num1 - 10) & S & " " & Sp(10) & S1 Case 20 To 99 Num2 = Right(Num1, 1) Num3 = Left(Num1, 1) If Num3 = 2 Then nT1 = "عشرون" Else nT1 = Sp(Num3) & "ون" nT2 = Sp(Num2) & IIf(Num2 > 2, S, "") & " و" & nT1 If Num2 = 0 Then nT2 = nT1 nT = nT2 End Select '====================================== S = IIf(nT = "" Or iNum < 100, "", " و") nT = Replace(nT, Sp(8) & "ة", Sp(8) & "ية") kh_nText = Trim(nT0 & S & nT & " " & oM) '====================================== End Function ' معالجة الكسر Private Function kh_dText(ByVal dNum As String, ByVal NCur As String, ByVal Ndec As String, ByVal co As Byte) As String Dim Td$, Td1$ On Error GoTo 1 If NCur = "" Then Ndec = "" Td = Format(Round(CCur(dNum - Int(dNum)), co), "0." & String(co, "0")) If Td = 0 Or Td = 1 Then Td1 = "": GoTo 1 If Len(Ndec) Then Ndec = " " & Ndec: Td1 = Td * CVar("1" & String(co, "0")) Else Ndec = " " & NCur: Td1 = Td Td1 = " و " & Chr(40) & Td1 & Chr(41) & Ndec 1: kh_dText = Td1 End Function دالة تحويل الرقم الى نص عربي.rar ================================================= الملف المعدل: هذا المرفق بامكانية تفقيط الكسر وامكانية ادخال كلمة نهاية النص دالة تحويل الرقم الى نص عربي.rar ================================================= رابط مباشر للملف1 point
-
السلام عليكم ورحمة الله وبركاته اقدم هذا العمل الى جميع اساتذتى فى اوفيسنا واقدمه الى جميع اعضاء اوفيسنا وفكرته تقوم على كيف تبحث بدالة VLOOKUP بشرطين اسال الله تعالى ان يتقبل منى هذا العمل تقبلوا منى جميعا خالص التحيه VLOOKUP بشرطين.rar1 point
-
السلام عليكم ورحمة الله وبركاته اقدم هذا العمل واهديه الى اساتذتى وكل أعضاء اوفيسنا وهو: بعيد عن المعادلات والاكواد . استخدام الصور في المخططات والرسومات البيانية اسال الله ان يتقبل منى هذا العمل ملحوظه ذكرت أسماء أساتذتي في المنتدى ووضعت بيانات افتراضيه فقط تقبلوا خالص تحياتي تلميذ اوفيسنا استخدام الصور فى الرسم البيانى.rar1 point
-
استاذى ياسر خليل جزاكم الله خيرا وهل شخصى يستحق هذا التشجيع من عظيم من عظماء المنتدى1 point
-
الاخ الغاالي محمد الريفي بارك الله فيك على هذا العمل الرائع وجزيت عنا خير الجزاء1 point
-
أخي الحبيب جرب المرفق التالي ولي طلب لديك ألا تستعجل الردود الصبر يا أخي الكريم Sum In One Cell.rar1 point
-
السلام عليكم استاذ ناصر اليك هذا الملف ربما تجد فيه ما تبحث عنه مجموع الاعمار.rar1 point
-
المرفق لا يعمل عندي ثانيا لو تفضلت بالأكواد التي تعمل على حدة بكفاءة يكون أفضل قد يكون هناك تعارض في سطر ما ارفق الملف قبل كتابة الأكواد فيه للتطبيق عليه وعليك أخي أن تعذر إخوانك التمس لأخيك 70 عذرا مش عذر واحد1 point
-
1 point
-
الأخ الغالي أبو محمد عباس اسمح لي بتصحيح بسيط في الكود الذي تفضلت به Sub HideRows() Dim rng As Range Dim cell As Range Application.ScreenUpdating = False Set rng = Range("A5:A263") For Each cell In rng If cell.Value = 0 Or cell.Value = "" Then cell.EntireRow.Hidden = True End If Next cell Application.ScreenUpdating = True End Sub1 point
-
السلام عليكم ورحمة الله وبركاته الشكر والعرفان موصول للاساتذة ابو محمود جزاه الله خيرا الاستاذ الكبير يحيى حسين جزاه الله خيرا وبعد اذن الاستاذ الفاضل ياسر خليل ربما مشغول هذه الاوقات جزاه الله خيرا هذا كود الاستاذ ياسر خليل عدلت فيه لما تريد وكذلك اضفت كود اخر في ورقة اخرى لاخفاء الصف الذي فيه القيمة صفر او فارغ تقبلوا فائق احترامي وتقديري اخفاء الصفوف ذات القيمة صفر والفارغة.rar1 point
-
جرب التالي ' Application.ScreenUpdating = False 'اخفاء الصفوف الفارغة Selection.AutoFilter ActiveSheet.Range("$A$10:$BD$128").AutoFilter Field:=1, Criteria1:="<>" With ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 2 .FitToPagesTall = 1 On Error Resume Next End With ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False 'إظهار الصفوف الفارغة Selection.AutoFilter ActiveSheet.Range("$A$10:$BD$128").AutoFilter Field:=1 Range("E18").Select Application.ScreenUpdating = True End Sub1 point
-
الجزء الثانى الدرس الخامس مقدمة عن البرمجة بلغة VBA فى برنامج إكسیل يتميز برنامج EXCEL بالواجهة الرسومية شانه شأن كافة البرامج التى تعمل تحت نظام التشغيل Windows وهذه الواجهة الرسومية تخفى خلفها الأوامر التى أصدرها للحاسب والتى تكون عادة مكتوبة بلغة من لغات الحاسب التى تعتمد على ما يسمى بالبرمجة الحدثية ( أو البرمجة الموجهة بالأحداث ) Events Programming تعتمد على حدوث حدث بواسطة المستخدم – مثل الضغط بزر الماوس الأيسر على زر تخيلى على الشاشة وبناء على هذا الحدث يتم تنفيذ مجموعة من الأوامر كما هو الحال فى وحدات الماكرو التى سبق الإشارة إليها . والواقع ان هذه الأزرار تخفى خلفها التعليمات التى تعطى للحاسب ، من خلال لغة الـ Visual Basic حيث يتم كتابتها بطريقة محددة وفقا لقواعد اللغة وكل مجموعة وهذه التعليمات تسمى الاكواد Codes وكل إجراء يرتبط تنفيذه بحدث معين يحدث من الأكواد او التعليمات تسمى إجراء Procedure من قبل المستخدم مثل الضغط بزر الماوس الأيمن او الأيسر على زر او تحريك الماوس او فتح كائن أو إغلاقه وتعتبر وحدات الماكرو احد الأدوات المستخدمة بواسطة Excel لكى يقوم المستخدم بتخزين مجموعة من التعليمات او الاكواد وتنفيذها من خلال حدث معين دون الحاجة إلى كتابة هذه التعليمات بنفسه بواسطة لغة Visual Basic ودون الحاجة الى تعلم قواعدها. ونتناول فى هذا الفصل كيفية التعامل مع أوامر لغة Visual Basic من خلال برنامج Excel وذلك بهدف التعرف على كيفية تصميم برامج تطبيقية قوية باستخدام Excel تتمتع بخواص وإمكانيات متقدمة يسهل من خلالها إدخال البيانات والتعامل معها . نبدأ على بركه الله تعالى فى شرح بعض الأمور الخاصة بالفيجوال بيسك اكسل وهى فى غايه الأهمية كونها توضح لنا العديد من الأمور المستخدمه فى الأكواد وبرجاء قرائتها بتأنى وبدقه لإستيعاب ما بها من نقاط هامه جدا التعامل مع محرر الكود فى الفيجوال بيسك اكسل 1 – فتح Visual Basic من خلال برنامج الأكسل : سبق الإشارة الى كيفية فتح محرر الأكواد راجع درس الماكرو 2 – إنشاء الإجراء Procedure : الإجراء Procedure هو مجموعة الجمل أو الأوامر التي يتم كتابتها لتنفيذ مهمة معينة . ولإنشاء الإجراء يستخدم الأمر sub ويعنى ذلك إنشاء إجراء جديد ويعقب ذلك اسم الإجراء ويكون من اختيار المبرمج أو المستخدم فنجد أن البرنامج يكتب تلقائيا جملة End sub على أن يتم كتابة الأوامر الخاصة بالإجراء بين جملتي الإعلان والنهاية . 3 – تنفيذ الإجراء : يتم تنفيذ الإجراء من خلال ورقة العمل بأحد طريقتين: الأولى : من خلال تنفيذ أمر أدوات / ماكرو/ وحدات ماكرو واختيار الإجراء الذى تم حفظه ويتم حفظ الإجراء ضمن وحدات الماكرو بالاسم الذى تم اختياره والضغط على زر تشغيل . الثانية : عمل زر خاص لتنفيذ الماكرو باستخدام أشرطة أدوات النماذج واختيار الأمر إنشاء زر وتخصيص الزر للماكرو المحدد ويتم تنفيذ الماكرو بالضغط على هذا الزر . 4 – المتغيرات Variables : يقصد بالمتغير مكان يتم حجزه فى ذاكرة الحاسب يتم فيه تخزين قيمة او مجموعة من القيم لكى يتم استخدامها داخل البرنامج . ولابد من إعطاء اسم لكل متغير حتى يتسنى فيما بعد استخدام هذا المتغير فى الوصول الى النتائج المطلوب تحقيقها من البرنامج . وهناك شروط محددة يجب توافرها فى اسم المتغير وإلا تم رفضها من قبل البرنامج . شروط تسمية المتغيرات : 1 - يجب ألا يبدأ اسم المتغير برقم وأن يبدأ بحرف . 2 - الحروف التى تلى الحرف الأول يمكن أن تكون حروف أو أرقام أو الاثنين معا . 3 - لا يجوز أن يحتوى اسم المتغير على مسافات أو نقطة أو رموز خاصة مثل ( ؟ ، * ،/ ، ..... الخ ) ولكن يمكن استخدام الشرطه السفليه ( _ ) . 4 - ألا يكون اسم من الأسماء المحجوزة مثل (if ، Else, dim, double, ...... الخ ) 5 - يجب ألا يكون مستخدما من قبل . بمعنى لو هناك كود بإسم MZM فلا يجوز كتابه كود آخر داخل نفس المصنف بنفس الاسم . أمثلة على أسماء صحيحة للمتغيرات : Salma – Mahmoud – mynameisyasser – Howareyou - Y2011 أمثلة على أسماء غير صحيحة للمتغيرات : Ali Gomaa - Good Morning - Howareyou? - 1210 5 – الثوابت Constants : عرضنا فيما سبق ما يخص المتغيرات وأنواعها وشروط تسميتها ، والثوابت هى مثل المتغيرات والفرق الوحيد بينهما هو أن الثوابت لا تتغير قيمتها أثناء عمل البرنامج وأيضا نجد أن شروط تسمية الثوابت هى نفس شروط تسمية المتغيرات وأيضا أنواع الثوابت هى نفس أنواع المتغيرات . 6 – الإعلان عن المتغيرات : الإعلان عن المتغير هو أن نخبر لغة visual basic عن اسم المتغير ونوع البيان وهناك طريقة للإعلان عن المتغيرات وهى بكلمة dim . وهناك أساليب مختلفة لعملية الإعلان وهى كالتالى : 1 - الإعلان عن متغير واحد فقط فى كل سطر من سطور الإعلان مثل : Dim a as integer Dim b as single 2 - الإعلان عن أكثر من متغير فى سطر الإعلان مثل : Dim a, b as integer 3 - الإعلان عن متغير وتخصيص قيمة له فى سطر الإعلان : Dim C as integer = 7 4 - الإعلان عن متغيرات ليست من نفس النوع وإعطاء قيمة لها فى نفس السطر "Dim X as integer = 9 , Y as string = "Mr. Mzm EL-Shrief 5 - الإعلان عن متغير وتخصيص قيمة له من ناتج معادلة رياضية فى نفس السطر Dim X as integer = a + b 7 – تخصيص القيم للمتغيرات : عند تخصيص قيمة للمتغير فإن هذه القيمة تأخذ أحد الأشكال التالية : 1 - قيمة مجردة X = 3 2 - متغير آخر X = Y 3 - عملية حسابية X = a + b ملاحظات : · عند الإعلان عن متغير ولم يتم وضع قيمة له فإنه يتم افتراض قيمة له كالآتي : 1 - المتغيرات الرقمية تأخذ الرقم صفر . 2 - المتغير المنطقي يأخذ القيمة False . 3 - المتغيرات الحرفية تأخذ قيمة فارغة " ". 4 – المتغير date يأخذ التاريخ 31/ 12 /1899 . · القيمة الحرفية "" لا تساوى القيمة الحرفية " " حيث أن الأولى قيمة فارغة أما القيمة الثانية فهى عبارة عن مجموعة من المسافات والمسافة لها قيمة . · يمكن جمع الأرقام وأيضا النصوص وذلك باستخدام علامات الربط & أو علامة + مثال Dim X , Y , Z as string "X = " Deiaa "Y = " Mahmoud Z = X + Y وعلى ذلك تكون قيمة Z هى Deiaa Mahmoud انتهى الدرس الخامس مرفق ملف pdf به كامل الدرس الخامس وتقبلوا منى وافر الاحترام والتقدير الدرس 5.rar1 point
-
الموضوع منور فيك و في الأخوة بارك الله فيهم1 point
-
السلام عليكم و رحمة الله وبركاته كل عام وانتم بخير اخي الكريم ابو ادهم جزاك الله خيرا على هذا المجهود الرائع بارك الله فيك ومشاركتي بجمع عملكم الرائع في ملف وورد ليسهل الوصول الى المواضيع في اي وقت ابوأدهم_مدونة اعمال ايقونات الماس لمنتدى اوفيسنا.rar1 point
-
السلام عليكم ورحمة الله أخي الكريم هذا حل أول، جعلت فيه المدى متغيرا حسب رقم صف الرقم الذي يكتب في الخلية G4 (الخضراء) حسن العمود D... أتمنى ان يكون هذا هو المطلوب... أخوك بن علية HLOOKUP_1.rar1 point