اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      11

    • Posts

      13,165


  2. بن علية حاجي

    بن علية حاجي

    الخبراء


    • نقاط

      5

    • Posts

      4,342


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      4

    • Posts

      8,723


  4. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      3

    • Posts

      1,745


Popular Content

Showing content with the highest reputation on 14 يول, 2017 in all areas

  1. جرب هذه المعادلة قي الخلية T11 واسحب نزولاُ =IF(C11="","",MOD((ROWS($A$1:A1)-1),COUNTIF($D$11:$D$600,"ذكر"))+1) او هذه ربما اكثر دقة في حال لم يكن الجدول مفروزاً =IF(C11="","",COUNTIF($D$11:D11,D11))
    2 points
  2. وعليكم السلام ورحمة الله تفضل المرفق فيه حل من الحلول... بن علية حاجي تكرار تسلسل.rar
    2 points
  3. السلام عليكم و رحمة الله تعالى و بركاته إخوتي الكرام حياكم الله و تقبل الله منا و منكم الصيامكم و القيام أضع بين أيديكم طريقة إنشاء نسخة تجريبية و حمايتها و قابلية تفعيلها و كل هذا بتوظيف الرجستري. خصائص البرنامج: 1- يكتشف إرجاع التاريخ 2- حتى لونزلت نسخة ثانية بعد إنتهاء التفعيل أو إنتهاء النسخة التجريبية فلن تعمل لأن الحماية مخزنة بالرجستري 3- رقم التفعيل يتغير من يوم إلى آخر حسب التاريخ 4- تستطيع تفعيل البرنامج بعد إنتهاء التفعيل بنفس النسخة 5- يحذف البرنامج الجدول الذي به رقم النسخة و كود الحماية مباشرة بعد أول تشغيل 6- يعطيك في أول تشغيل فترة تجريبية تحددها انت كما تشاء 7- رقم التفعيل مخبأة في مكان بالرجستري لا يمكن الحصول عليه هذا هو المرفق و أتمنى من الأعضاء أن يقوموا بتجربة المرفق و إعطائنا النتائج و من بعدها نقوم بشرح أكواد البرنامج: فترة تجريبية1.rar
    1 point
  4. توضع الدالة في موديول عادي وليس في حدث ورقة العمل عموماً تفضل الملف ودا رابط لفيديو في التعامل مع البدايات لربما لربما يفيدك جمع ثوابت.rar
    1 point
  5. أشكرك أخي صالح .... بارك الله فيك ..... جزاك الله خيرا في الدنيا والآخرة ....ز. تم المطلوب على أكمل وجه .. يا وجه السعد
    1 point
  6. وعليكم السلام في هذا الرابط تجد حل المشكلة ان شاء الله
    1 point
  7. 1 point
  8. السلام عليكم ورحمة الله نسيت أن أشرح ما قمت به من تغيير في الملف... التغيير لم يكن في الكود إنما كان في معادلات الخلايا الملونة باللون الوردي للأرقام المتغيرة (تسلسليا) الخاصة بكل شهادة (أعلى يمين كل شهادة)، يمكنك معرفة التغيير البسيط الذي قمت به في هذه الخلايا (الخلايا هي D52 ، D39 ، D28 ، D15)... أخوك بن علية حاجي
    1 point
  9. ليس عندي تصور كامل .. انتظر الأخوة بالمنتدى لعل أحدهم لديه فكرة بالموضوع
    1 point
  10. وعليكم السلام أخي الكريم حارثة تفضل الكود بعد التعديل .. التعديل بسيط في إضافة سطر قرب نهاية الكود وتعديل السطر الذي يليه (وعشان متعبكش ..إليك الكود بالكامل) Option Explicit Sub TransferToRelatedSheets() Dim wks As Worksheet Dim data As Variant Dim item As Variant Dim key As Variant Dim dict As Object Dim rng As Range Dim rngBeg As Range Dim rngEnd As Range Dim cell As Range Dim x As Long Dim y As Long Dim lr As Long Set wks = ThisWorkbook.Worksheets("القوائم") Set rngBeg = wks.Range("A2:H2") Set rngEnd = wks.Cells(Rows.Count, rngBeg.Column).End(xlUp) If rngEnd.Row < rngBeg.Row Then Exit Sub Set rng = wks.Range(rngBeg, rngEnd) Set dict = CreateObject("Scripting.Dictionary") dict.CompareMode = vbTextCompare Application.ScreenUpdating = False For Each cell In rng.Columns(1).Cells key = Trim(cell) item = cell.Resize(1, rng.Columns.Count).Value item(1, 6) = CLng(item(1, 6)) If Not dict.Exists(key) Then dict.Add key, item Else data = Application.Transpose(dict(key)) x = UBound(data, 1) y = UBound(data, 2) + 1 ReDim Preserve data(1 To x, 1 To y) data = Application.Transpose(data) For x = 1 To UBound(item, 2) data(y, x) = item(1, x) Next x dict(key) = data End If Next cell For Each item In dict.Items If WorksheetExists(CStr(item(1, 1))) Then x = UBound(item, 1) y = UBound(item, 2) lr = Worksheets(CStr(item(1, 1))).Cells(Rows.Count, 1).End(xlUp).Row + 1 Set rng = Worksheets(CStr(item(1, 1))).Range("A" & lr) rng.Resize(x, y).Value = item End If Next item Application.ScreenUpdating = True MsgBox "Done...", 64 End Sub Function WorksheetExists(sheetName As String) As Boolean Dim sheet As Worksheet Dim temp As String temp = UCase(sheetName) WorksheetExists = False For Each sheet In Worksheets If temp = UCase(sheet.Name) Then WorksheetExists = True Exit Function End If Next sheet End Function
    1 point
  11. السلام عليكم ورحمة الله جرب الآن... بن علية حاجي الصف الرابع والخامس.rar
    1 point
  12. معادلة ممتازة أخي العزيز سليم ..بارك الله فيك ولا حرمنا الله منك
    1 point
  13. السلام عليكم نعم أخي كان هناك خطأ بسيط يمنع المرفق من العمل مع كل الملفات و لكنني أصلحته الآن تفضل: Dim strTargetDB As String Dim tbl As TableDef Dim app As Access.Application strTargetDB = Me.txtPath1 Set app = CreateObject("Access.Application") app.OpenCurrentDatabase (Me.txtPath) app.Visible = False For Each tbl In app.CurrentDb.TableDefs If Left(tbl.Name, 4) <> "MSys" Then app.DoCmd.TransferDatabase acExport, "Microsoft Access", strTargetDB, acTable, tbl.Name, tbl.Name, False End If Next MsgBox "لقد تم تصدير جميع الجداول بنجاح" و هذا هو المرفق: 1‏‏kanory.rar
    1 point
  14. بعد اذن اخي الحبيب ياسر نفس الشيء بمعادلة واحدة توضع في الخلية C3 و تسحب يساراً ثم نزولاُ =IF($B3="","",IF(COLUMNS($A$1:A1)=1,B3,INDEX({"X";"ص";"م"},IF(MATCH(B3,{"X";"ص";"م"},0)=3,1,MATCH(B3,{"X";"ص";"م"},0)+1)))) الملف مرفق مع المعادلة المطلوبة عداد Salim.rar
    1 point
  15. يا ليت المهندس ياسر تعملها بالأكواد لكونها اسرع استجابة وعشان اتعلم في المستقبل التمييز بينهما كصنع الأكواد ... شكرا لك أخي العزيز المهندس بن علية باركك الله في كل شيء وجزاك الله خيرا وأنعم عليك ،وأسعدك في الدارين نِعْمَ ما فعلت، عملك صائب ونجح عندي حسبما اردته.لا تحرمنا من وجودك العزيز .. ما شاءالله عليك اخي واستاذي العزيز بن علية اعلى الله مراتبك واعلى مقامك واعطاك سؤلك ومنحك نعما لا يحصيها العادون.. عمل فوق العادة "توزيع الكلمات في جدول" اكثر من رائع .. اختصرت لي الوقت بارك الله الملك الوهاب فيك وعافاك من كل بلاء
    1 point
  16. بارك الله بيك اخ ياسر وجزاك الله كل خير ، اخي المشكلة انه ما تكدر اتصدر بس XLS يعني لو نكدر انصدر XLSX ، احتمال انه تعمل مع الشكر
    1 point
  17. تم الحل الف مليون شكرا على مجهود حضرتك استاذياسر خليل أبو البراء حضرتك ماتعرفش فدتنى اد اية ربنا يكرمك
    1 point
  18. السلام عليكم ورحمة الله وبركاته الأخ العزيز أ. ياسر أبو البراء عذرًا فقد نسيت أكتب أني جربتُ الضغط على المفاتيح الثلاثة هؤلاء لكن لم تفعل شيئًا، والآن حاولت ولكن بطريقة أخرى ونجحت وهي أني داخل الخلية أضغط عليهم وتعمل بشكل صحيح؛ إذ إني في السابق كنت أضغط بمجرد تحديد الخلية لا أن أفتحها. وأما بخصوص القائمة المنسدلة فحاضر سأكتبها في موضوع منفصل، وأشكرك على سعة صدرك لي ..
    1 point
  19. السلام عليكم ورحمة الله تم التعديل على المعادلات للتوزيع الذي تريده مع إضافة 3 أعمدة أخرى لإمكانية توزيع كلمات من 10 حروف... يمكنك أيضا توزيع كلمات لأكثر من 10 حروف... بن علية حاجي مطلوب تعديل جدول.rar
    1 point
  20. أحوسو .. بتغير في الموضوع ليه .. حاول تركز على الطلب من البداية يا جميل عموماً شوف الكود دا .. ضع الكود في حدث ورقة العمل :: هتقولي إزاي؟ هرد أقولك قلت لك قبل كدا .. Private Sub Worksheet_Change(ByVal Target As Range) Dim arr As Variant Dim temp As Variant Dim x As Variant Dim i As Integer If Target.Cells.Count > 1 Then Exit Sub If Target.Column = 2 And Target.Row > 2 Then Application.EnableEvents = False arr = Array("X", "ص", "م") ReDim temp(1 To 23) x = Application.Match(Target.Value, arr, 0) If Not IsError(x) Then For i = 1 To UBound(temp) temp(i) = arr(x - 1) If x = 3 Then x = 1 Else x = x + 1 Next i End If Target.Offset(, 1).Resize(, UBound(temp)).Value = temp Application.EnableEvents = True End If End Sub
    1 point
  21. اخي الكريم بحق السيد ياسر اشكرك جزيل الشكر و لك كل الإحترام و التقدير على كبير جهودك والعطاء الطوعي من وقتك لهذا الصرح الرائع برواده ردود واضحة وشرح مفصل وفائدة عامة ...(والي معندوش ابو البراء لازم يشوف منين يجيب)
    1 point
  22. البرنامج يعمل معي 100% جرب إنشاء قاعدة فارغة (mdb) و قم بتصدير الجداول لها من خلال قاعدة أخرى
    1 point
  23. نعم في 2003 وما قبله
    1 point
  24. يمكنك تجربة هذا الكود (منقول) Sub MyFooter() Dim xTxt As String Dim xAddress As String Dim xRg As Range Dim xCell As Range On Error Resume Next xAddress = ActiveWindow.RangeSelection.Address Set xRg = Application.InputBox("Select the row you will insert repeatedly at the bottom:", "Kutools for Excel", xAddress, , , , , 8) If xRg Is Nothing Then Exit Sub For Each xCell In xRg xTxt = xTxt & xCell.Value & " " Next ActiveSheet.PageSetup.LeftFooter = xTxt End Sub
    1 point
  25. السلام عليكم جرب الدالة المعرفة التالية .. Function SumIfLetter(rng As Range, s As String) As Long Dim arr As Variant Dim itm As Variant arr = rng.Value For Each itm In arr If itm Like "*" & s Then itm = Replace(itm, s, "") If itm = "" Then itm = 1 SumIfLetter = SumIfLetter + itm End If Next itm End Function لاستخدام الدالة المعرفة : ضع الدالة داخل موديول عادي وفي ورقة العمل اكتب المعادلة التالية في الخلية J8 طبقاً لآخر ملف مرفق في آخر مشاركة =SumIfLetter($A$7:$I$7,J6) ثم قم بسحبها لليسار تقبل تحياتي
    1 point
  26. أخي العزيز محمد بارك الله فيك .. لن أطيل في الرد نظراً لظروف خاصة .. بالنسبة للنقطة الأولى أجبتك عنها في المشاركة السابقة معادلات الصفيف تكون الأقواس موجودة ولكن لا تكتب بشكل يدوي .. بل تقوم بإدخال المعادلة بشكل طبيعي وبعد الإدخال تضغط على المفاتيح الثلاثة بالنسبة للنقاط الأخرى أفضل طرح موضوع جديد لكل طلب .. علاوة على أنه ليس لدي فكرة عن مشكلة القوائم المنسدلة (أتذكر فيما مضى أن هذه المشكلة لم أجد لها حل والله أعلم) تقبل وافر تقديري واحترامي
    1 point
  27. وعليكم السلام الموضوع كلمتين وبس ..دا مياكلش معانا لازم تفاصيل يا حاج أحمد وبعدين الصور الموجودة في المرفق 5 صور وإنت بتقول 36 .. والعرض هيكون فين :: ايه هي آلية العمل؟ هل الصور مطلوب إدراجها في الشيت ولا في الفورم فقط ... لو أرفقت نموذج مصغر يكون أفضل عشان الأمور تكون أوضح .. ولو تقدر تقولنا على شكل النتائج المتوقعة يبقا كدا عداك العيب وأزح (قزح في اللغة العربية : تعني وثب وثبة طويلة) تقبل تحياتي
    1 point
  28. كود آخر أبسط بدلاً من استخدام الحلقات التكرارية Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.CountLarge > 1 Then Exit Sub If Target.Address = "$A$2" Then Dim c As Range Range("B3").Value = Target.Value With Range("C3:Z3") .Formula = "=MOD(B3,3)+1" .Value = .Value End With End If End Sub
    1 point
  29. =IF($B$3<3;B3+1;1) بعد تثبيت النطاق
    1 point
  30. السلام عليكم (مفيش لا سلام .. ولا حتى كلام :: يا قلبك القاسي يا حوسو) بص يا سيدي جرب الكود التالي في حدث ورقة العمل (لو مش فاهم كلامي : اعمل كليك يمين على اسم ورقة العمل اللي هي Sheet1 .. مفيش غيرها عندك في الملف بتدور على ايه؟) عملت كليك يمين .. هتلاقي قايمة فيها أوامر اختار منها View Code .. وانسخ الكود اللي في المشاركة والصقه هناك وهو دا حدث ورقة العمل عشان متوهشي مني !! وآدي الكود عشان خاطر عيونك السود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.CountLarge > 1 Then Exit Sub If Target.Address = "$A$2" Then Dim c As Range Range("B3").Value = Target.Value For Each c In Range("C3:Z3") If c.Offset(, -1) = 1 Then c.Value = 2 ElseIf c.Offset(, -1) = 2 Then c.Value = 3 ElseIf c.Offset(, -1) = 3 Then c.Value = 1 End If Next c End If End Sub
    1 point
  31. شكرا جزيلا استاذ صالح نسأل الله لوالدك الأجر والعافية ووالدي المسلمين اجمعين في هذا الشهر الفضيل وكل عام وانتم بخير
    1 point
×
×
  • اضف...

Important Information