بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 21 نوف, 2023 in all areas
-
في هذه الحالة ستطول المعادلة قليلا =C3*D3*SUM(1,IF(G3<>"",-1*G3,0),IF(H3<>"",H3,0)) بالتوفيق2 points
-
في حال وجود سؤال جديد متعلق بهذا الموضوع .. يرجى فتح موضوع جديد والإشارة لهذه الصفحة وذلك حسب قوانين المنتدى 🙂 شكرا لكم 🙂 🌹2 points
-
أبسط هذه الطرق استعمال دالة image =IMAGE("https://quickchart.io/qr?size=100&text="&A2) خيث A2 هي الخلية التي بها النص المراد تحويله ولمن ليس لديه دالة image يمكن استخدام هذه الدالة المعرفة Function masqr(mytext As String) Dim URL As String, myrng As Range, myshp As Shape Set myrng = Application.Caller URL = "https://quickchart.io/qr?size=100&text=" & mytext On Error Resume Next ActiveSheet.Pictures("myqr" & myrng.Address(False, False)).Delete ActiveSheet.Pictures.Insert(URL).Select Set myshp = Selection.ShapeRange.Item(1) myshp.Placement = xlMoveAndSize With myshp .LockAspectRatio = msoFalse .Name = "myqr" & myrng.Address(False, False) .Left = myrng.Left .Top = myrng.Top End With masqr = "" End Function وطريقة استخدامها =masqr(A2) بالتوفيق2 points
-
تأكد اولاً من المكتبات اخي الكريم ، لربما اختلاف الإصدار هو السبب !! * وجهة نظري ورأيي المتواضع.2 points
-
2 points
-
برنامج طباعة الاختبارات بطريقة الاتمته (الاصدار الثاني) برمجة وتصميم الاستاذ صالح احمد محمد ربيع هذا البرنامج اهداء لجميع المدارس برنامج طباعة الاختبارات الاصدار ٢.xls1 point
-
لقد وجدت الحل بالفعل ووضعت عليها افضل اجابة شكرا يا معلمى1 point
-
نعم صديقي ، هو استناداً للفكرة وقابلة للتطوير طبعاً ، والفكرة كانت أن يتم جلب بيانات الجدول في القاعدة الثانية ومن ثم تتطرق لموضوع المقارنة بينهم وتستكمل فكرتك ..1 point
-
السلام عليكم ..والله مش عارف ابتدي منين الحكاية !! الجدول settings_general_tbl ليس له علاقة بالحقل الغير مرتبط txtFullName ولهذا كيف سيتم التحقق من pname في النموذج reservation_frm بصي يا استاذة...انا قرأت مشاركتك عدة مرات ولم افهم العلاقة بين النموذجين ممكن حضرتك ..قبل الدخول في البرمجة ...تشرحي لنا ايه الغاية ؟ يعني بأختصار ..اي اللي في بالك تعمليه تحياتي للجميع1 point
-
كل الشكر والتقدير لاستاذى الفاضل العلامه الاستاذ محمد صالح على الرد السريع وعلى هذا العمل الطيب المبارك جعله الله فى موازين حسناتكم1 point
-
اسمحي لي بمناقشة سريعة من باب التوضيح أكتر في النموذج (reservation_frm) يكون مصدره الجدول (reservation_tbl) صح ؟؟ صح , والحقل (pname) قائمة منسدله مصدرها حقل يحتوي بيانات سابقاً في نفس الجدول صح ؟؟ صح , إذاً كيف سأشترط عليه أن يتأكد من عدد مقاطع الإسم إن كان تم إدخاله سابقاً ( لربما قمت بإدخال البيانات في نموذج آخر سابقاً وهناك يجب أن يكون الشرط قبل التخزين - على حسب ما فهمت من تخيلي لمسار البيانات ) صح ؟؟ متابع معكم بعد العودة للبيت بإذن الله1 point
-
يمكنك استعمال هذه المعادلة في C8 =IFERROR(IF(WEEKDAY(DATE(C2,B2,1),1)=6,DATE($C$2,$B$2,1)+2,IF(WEEKDAY(DATE(C2,B2,1),1)=7,DATE($C$2,$B$2,1)+1,DATE($C$2,$B$2,1))),"") وهذه في C9 وما تحتها =IFERROR(IF(IF(WEEKDAY(C8+1,1)=6,C8+3,C8+1)<=EOMONTH($C$8,0),IF(WEEKDAY(C8+1,1)=6,C8+3,C8+1),""),"") بالتوفيق1 point
-
أخي @محمد احمد لطفى الله يعطيك العافية ، هذه مشاركة بفكرة خطرت في بالي أود مشاركتك بها من باب التجربة ، تفضل Foksh.zip * طبعاً هذا فيما يتعلق بجلب التاريخ من قاعدة بيانات أخرى على رأي الشاعر اللي قال المثل ( أن تصل متأخراً ، خير من أن لا تصل أبداً )1 point
-
شكراُ أستاذ @Moosak توصلت الى حل كل ما كنت أريده ان يتم التحديث بطريقة ألية بدون التدخل من احد حيث أقوم بتحديث بعض الجداول فقط Dim strSQL As String, dbLocal As DAO.Database, dbExternal As DAO.Database, maxDateLocal As Date, maxDateExternal As Date ' افتح قاعدة البيانات المحلية Set dbLocal = CurrentDb() ' احصل على أقصى تاريخ للجدول المحلي maxDateLocal = dbLocal.OpenRecordset("SELECT MAX(datex) AS MaxDate FROM main1115").Fields("MaxDate").Value ' افتح قاعدة البيانات الخارجية Set dbExternal = OpenDatabase("\\10.12.20.125\Updatedata\البحث.accdb") ' احصل على أقصى تاريخ للجدول الخارجي maxDateExternal = dbExternal.OpenRecordset("SELECT MAX(datex) AS MaxDate FROM main1115").Fields("MaxDate").Value ' أغلق قاعدة البيانات الخارجية dbExternal.Close ' قارن بين القيمتين واتخذ الإجراء المناسب If maxDateLocal <> maxDateExternal Then ' غير متطابقين Call Update End If وجارى مشاهدة الملف المرفق1 point
-
1 point
-
1 point
-
1 point
-
سلمت يمينك أستاذى الفاضل / محمد صالح معادلة أكثر من رائعة ألف ألف شكر لحضرتك1 point
-
ادخل على النماذج الفرعيه وعدل ما تريد تعديله هنا1 point
-
يمكنك استخدام عمود واحد للخصم والإضافة الخصم بالسالب والإضافة بالموجب واستعمال هذه المعادلة =C3*D3*(1+G3) بالتوفيق معادلة.xlsx1 point
-
اختي الكريمه لاحظي إنه دائماً في طلباتك يكون هناك نقص إما في الموضوع ، أو الشرح ، أو المرفق ؟؟ يعني سؤالي لك بناءً على الصورة هل يوجد حقول في النموذج المرفق من حضرتك لتعبئتها ( مثلاً ) ؟؟ لإنه في طلبك لاحقاً عايزه الكود يعمل بحث في سجلات جدول باستخدام الدالة Dlookup. أرجو منك كالعادة بشكل واضح تفسير طلبك وإرفاق مرفق يحتوي على كامل الكائنات ( مربعات نص أو ازرار .... إلخ ) لتوفير الوقت على الإخوة لتقديم المساعدة. أيضاً توضيح العلاقة بين النموذجين في الصورة لتكتمل الصورة. تقبلي تعليقي بصدر رحب1 point
-
السلام عليكم نبدأ بها جرب الكود التالي Sub Test() Dim ws As Worksheet, sh As Worksheet, sTarget As String, lr As Long, m As Long, iRow As Long Application.ScreenUpdating = False Set ws = ThisWorkbook.Worksheets("اذن") lr = ws.Cells(Rows.Count, 1).End(xlUp).Row If lr < 6 Then MsgBox "No Data", vbExclamation: Exit Sub Select Case ws.Range("C2").Value Case "اذن صرف": sTarget = "صرف" Case "اذن اضافه": sTarget = "اضافه" Case Else: MsgBox "No Such Worksheet", vbExclamation: Exit Sub End Select Set sh = ThisWorkbook.Worksheets(sTarget) m = sh.Cells(Rows.Count, "B").End(xlUp).Row + 1 For iRow = 6 To lr sh.Range("A" & m).Resize(, 6).Value = Array(sh.Range("A" & m).Row - 2, ws.Range("E2").Value, ws.Range("C4").Value, ws.Range("C3").Value, ws.Cells(iRow, 1).Value, ws.Cells(iRow, 2).Value) sh.Range("I" & m).Value = ws.Cells(iRow, 4).Value If sh.Name = "اضافه" Then sh.Range("J" & m).Value = ws.Cells(iRow, 5).Value End If m = m + 1 Next iRow Application.ScreenUpdating = True MsgBox "Done", 64 End Sub1 point
-
وعليكم السلام- باركود IDAutomationHC39M Idautomationhc39m.zip1 point
-
هذه مجموعة من الخطوط يمكنك تحميلها وتثبيتها في ويندوز واستعمالها في الاكسل أو الاكسس أو اي برنامج من برامج ميكروسوفت Code 128 Code 39 UPC-E QR Postnet UPC/ EAN I2of5 Intelligent Mail بالتوفيق1 point
-
أخي الكريم @mohamed-elc ما تقدم به الأستاذ @ابو البشر هو فعلاً الحل الأمثل لمشكلتك في إظهار التقارير عند إخفائك لواجهة الآكسيس ؛ وسأضيف عليه حيلة قد تنفعك إذا كانت الواجهة الرئيسية عندك عند فتحها تكون Maximize !! وهذا فيديو من برنامجي للتوضيح ( 20231119_175044.zip ) فهل هي كذلك ؟؟1 point
-
1 point
-
السلام عليكم و رحمة الله اليك شرح الكود المطلوب ارجو ان اكون قد وفقت Sub LastTest() '-------------------- Dim i As Long, ws As Worksheet, Rng As Range Dim C As Range, p As Integer, x Dim Shp As Shape, Nam As String Set ws = Sheets("Sheet2") Application.ScreenUpdating = False Range("AO5:BB100") = "" ' مسح النطاق الذى سوف يتم ارسال بيانات التلاميذ الضعاف Set Shp = ws.Shapes(Application.Caller) ' تعريف الشكل حسب العنوان المكتوب عليه Nam = Shp.TextEffect.Text ' الاسم المكتوب على الشكل ws.Range("AQ1") = " الطلاب الضعاف اقل من 65 % ل" & Nam ' عبارة تكتب عقب الضغط على اى زر حسب الشهر p = 4 ' لعد التلاميذ الضعاف بدلا من الصفر يعنى i = 5 ' اول صف سوف يتم العمل عليه Do While i <= 70 ' آخر صف سوف يتم العمل عليه حسب المرفق و يم تغييره بسهولة With ws Select Case Nam ' الاعمدة التى سوف يتم العمل عليها حسب اسم الشهر المكتوب على الزر Case "شهر 10" x = Array(1, 2, 3, 4, 5, 6, 7, 11, 15, 19, 23, 27, 31, 35) Case "شهر 11" x = Array(1, 2, 3, 4, 5, 6, 8, 12, 16, 20, 24, 28, 32, 36) Case "شهر 12" x = Array(1, 2, 3, 4, 5, 6, 9, 13, 17, 21, 25, 29, 33, 37) Case Else End Select For j = LBound(x) To UBound(x) ' عدد الاعمدة المطلوبة للعمل عليها و تكون مصفوفة Set Rng = .Cells(i, x(j)) ' التعريف بالنطاق و جعل كل صف على حدة كمصوفة مستقلة بذاتها For Each C In Rng ' كل خلية فى هذا النطاق y = .Cells(4, x(j)) * 0.65 ' شرط النجاح If .Cells(i, x(j)) < y Then ' اذا كان الشرط غير متوافر m = m + 1 ' عد مواد الرسوب اقل من 65% If m > 1 Then GoTo 88: ' تكفى مادة واحدة ليبدأ للعمل عليها p = p + 1 ' العد For a = 0 To 13 ' عدد الخلايا التى سيتم ترحيل البيانات اليها .Cells(p, a + 41) = .Cells(i, x(a)) ' ترحيل البيانات .Cells(p, 41) = p - 4 ' مسلسل للتلاميذ الضعاف Next End If Next Next End With 88: m = 0 i = i + 1 Loop End Sub1 point
-
يمكنك استعمال هذه المعادلة في الخلية G19 مع سحبها لأسفل =IF(D19="","",VLOOKUP($B$2,المقسطون!$B$27:$N$62,6,0)) بالتوفيق1 point
-
برنامج طباعة الاختبارات تعديل نهائي.rar1 point
-
بعد إذن الإخوة المشاركين حسب فهمي للمطلوب يمكنك استعمال هذه المعادلة لعرض عوامل العدد في أول 100 رقم =IFERROR(SMALL(IF(IF(ROW($A$1:$A$100)*$E$1/$G$1=INT(ROW($A$1:$A$100)*$E$1/$G$1),ROW($A$1:$A$100),"")<>"",ROW($A$1:$A$100),""),ROW(A1)),"") مع سحبها لأسفل وهذا التطبيق على ملفك بالتوفيق للجميع1 point
-
1 point
-
نعم اخي يمكنك دالك بتعطيل هدا الصف فقط f.UsedRange = f.UsedRange.Value رغم انني عند كتابة الكود لاحظت ان الفكرة ربما لم كانت على يوزرفورم سوف تكون مميزة (لانني دائما عند الاشتغال على اي ملف اطمح الى تقديم الافضل رغم عدم طلبه ) لهدا قررت بعدما طلبت مني التعديل بانشاءه ربما يساعدك على الاشتغال على الملف بشكل افضل مع البقاء على الكود الاول ليبقى لك اختيار ما يناسبك طبعا اليك شرح الكود الاول ربما تحتاج يوما الا تعديل شيء ما Sub Créer_des_feuilles() Dim rng As Range, dico As Range, Cell As Range Dim arr(1 To 2) As String, f As Worksheet ' رسالة تنبيه عند كتابة اسم غير موجود على المصنف arr(1) = "المرجوا التحقق من إسم ورقة العمل" ' رسالة بنجاح النسخ تتظمن اسماء الاوراق الجديدة arr(2) = "تم نسخ اوراق العمل بنجاح" On Error GoTo Errorhandling NameWS = InputBox("أدخل إسم ورقة العمل المراد نسخها ", " نسخ ورقة العمل") ' التحقق من اسم ورقة العمل المراد نسخها If Evaluate("ISREF('" & NameWS & "'!A1)") Then Set rng = Application.InputBox(Prompt:=" حدد نطاق أسماء أوراق العمل: ", _ Title:="تسمية أوراق العمل", _ Default:=Selection.Address, Type:=8) For Each dico In rng ' تجاهل الفراغات اثناء التحديد If dico <> Empty Then Application.ScreenUpdating = False ' التحقق من وجود اسم الشيت مسبقا على المصنف If Not Evaluate("ISREF('" & dico & "'!A1)") Then Sheets(NameWS).Copy after:=ActiveWorkbook.Sheets(Worksheets.Count) Set f = ActiveSheet 'تسمية اوراق العمل f.Name = dico ' حدف الازرار f.DrawingObjects.Delete 'التحويل الى قيم ' f.UsedRange = f.UsedRange.Value ' تخزين اسماء الشيتات الجديدة For Each Cell In dico ws = ws & vbCrLf & Cell.Value Next Cell End If End If Next dico Application.ScreenUpdating = True MsgBox arr(2) & vbCrLf & ws, vbOKOnly, "تعليمات:" Else MsgBox arr(1), vbCritical, "إنتباه:" End If Errorhandling: End Sub تفضل اخي في انتظارك بعد تجربة الملف وسوف نكون سعداء دائما بمساعدتك Create-Sheets_User.xlsb1 point
-
السلام عليكم ورحمة الله وبركاته .. تحية طيبة إخواني .. 🌹 أحضرت لكم اليوم كود وظيفته استخراج الملفات المخزنة في جداول الأكسس كمرفقات داخلية إلى خارج قاعدة البيانات دفعة واحدة 🙂 وهو مفيد جدا لمن لديه قاعدة بيانات قد ملئها بالمرفقات ويحاول الآن تصغير القاعدة باستخراج المرفقات منها وحفظها خارج قاعدة البيانات بسهولة ويسر .. بدل حفظها ملف ملف وهي عملية مرهقة بالتأكيد .. خصوصا إذا كان عدد المرفقات بالمئات .. إليكم الكود : Public Function ExtractAllAttachments(ByVal TableName As String, ByVal AttchmentColumnName As String, ByVal ExtractToFolder As String) ' TableName : اسم الجدول ' AttchmentColumnName : اسم حقل المرفقات ' ExtractToFolder: المكان المراد استخراج الملفات إليه مثال : "C:\ExtractHere" Dim RsMainrecords As dao.Recordset2 Dim RsAttachments As dao.Recordset2 Set RsMainrecords = CurrentDb.OpenRecordset("select " & AttchmentColumnName & _ " from " & TableName & _ " where " & AttchmentColumnName & ".FileName is not Null") Do Until RsMainrecords.EOF Set RsAttachments = RsMainrecords.Fields(AttchmentColumnName).Value Do Until RsAttachments.EOF Dim OutputFileName As String OutputFileName = RsAttachments.Fields("FileName").Value OutputFileName = ExtractToFolder & "\" & OutputFileName RsAttachments.Fields("FileData").SaveToFile OutputFileName RsAttachments.MoveNext Loop RsAttachments.Close RsMainrecords.MoveNext Loop RsMainrecords.Close Set RsMainrecords = Nothing Set RsAttachments = Nothing End Function ويتم تشغيله بالطريقة التالية : ExtractAllAttachments("TableName","AttchmentColumnName","ExtractToFolder") ستحتاج لإعطائه 1- اسم الجدول ، 2 - اسم الحقل ، 3 - المكان الذي تريد استخراج المرفقات فيه . المصدر : https://www.youtube.com/watch?v=jHIgay9goWo1 point
-
بسم الله الرحمن الرحيم بناء على طلب أخينا الكريم عبد الله المجرب (أبو أحمد) يتم هنا مناقشة دالة الرسائل التي تظهر لمدة محددة بالثواني ثم تختفي تلقائياً الصيغة العامة لها intButton = object.Popup(strText,[nSecondsToWait],[strTitle],[nType]) شرح البارامترات object : كائن wscript الذي تم إنشاؤه strText : نص الرسالة (مطلوب) nSecondsToWait : عدد ثواني بقاء الرسالة على الشاشة (اختياري) القيمة الافتراضية 0 وتعني عدم اختفاء الرسالة إلا بعد الضغط على زر فيها strTitle : عنوان الرسالة (اختياري) إذا لم يتم كتايته يظهر "Windows Script Host" nType : رقم يحدد الأزرار والأيقونات المستعملة في الرسالة (اختياري) وترجع الدالة رقم intButton الخاص برقم الأزرار التي ضغطها المستخدم حتى يخفي الرسالة ويهمنا في هذا المقام الأزرار والأيقونات وهي كالتالي وهي مثل دالة msgbox العادية في أنه يمكنك جمع قيمتين أو أكثر سواء بعلامة + أو بكتابة حاصل الجمع الفعلي فمثلا لعمل رسالة بها زر نعم أولا وأيقونة علامة الاستفهام نكتب 4+32 أو 36 نأتي الآن للقيمة التي ترجعها الدالة نأخذ مثالاً set WshShell = CreateObject("WScript.Shell") Result = WshShell.Popup("This is a popup box!", 10, "Title", 65) ويمكن تنفيذ الأمر بدون وضع القيمة الراجعة في متغير set WshShell = CreateObject("WScript.Shell") WshShell.Popup "This is a popup box!", 10, "Title", 65 ويمكنك استعمال هذه الدالة من تصميمي للتعامل مع popup Function msg(strText As String,nSecondsToWait as integer, strTitle As String, nType As Integer) CreateObject("WScript.Shell").Popup strText,nSecondsToWait,strTitle,nType End Function طريقة استعمالها Sub mas() msg "text", 2, "title", 4+256 End Sub .... وفي الأخير لا ينقصني سوى دعاؤكم وفقنا الله وإياكم لكل ما يحب ويرضى1 point
-
قريبا ان شاء الله مع الشرح = = = = = = = الثلاثاء 21/11/1432هـ الموافق 18/10/2011م نظام المستوعات و متابعة المخزون الفكرة من اعداد اخي اسامة العضو في هذا المنتدى هو نظام اكسل يهدف لحساب حركة المخزون لعدد 4 عمليات وهي (استلام + صرف + ارجاع + شطب) المميزات و الخصائص 1. يمكن تسجيل عدة مستخدمين للملف تصل الى 11 مستخدم 2. يمكن تسجيل اضناف او مواد حتى 9000 صنف او مادة 3. قائمة المواد المخزنة مع ملخص بياناتها 4. كل الحركات المسجلة للمواد 5. نموذج خاص لإضافة أي مواد جديدة 6. نموذج للبحث في قائمة المواد 7. البحث خلال فترة محددة عن أي مادة اسماء المستخدمين وكلمات المرور الحالية هي: Admin = 123 موظف 2 = 22 Super_Stores.rar1 point
-
1 point
-
السلام عليكم لاخ محمد الحسن هذا برنامج بسيط صممته لك عل السريع لاي اضافات نجن في الخدمة تخزين+تعديل لصادر و الوارد.rar1 point
-
إنا لله وإنا إليه راجعون اللهم ارض عنها وأدخلها جنتك ولا تخط عليها ولا تدخلها النار اللهم ألهم أهلها الصبر والأجر والخلف بخير1 point
-
بارك الله لكم أخواي أ / الخالدي و أ / رجب جاويش التهنئة لكم والفائدة للجميع وفقكم الله لكل ما يحب ويرضى1 point
-
أشكركم جميعاً إخوتي وأحبتي في الله وهذا الجزء العملي 2 من الفصل الرابع في الدورة وفقنا الله وإياكم لكل ما يحب ويرضى1 point
-
1 point
-
هذا ما قلته أنا فلربما يحتاج ذلك أحد الإخوة ولعمل ما تريد استبدل هذا السطر With ActiveSheet.Range("a2").Validation بالتالي With sheets("mas").Range("a2").Validation حيث mas هو اسم الشيت الذي تريد وضع القائمة فيه1 point
-
بارك الله لك أخي العيدروس (أبا نصار) وهذه مساهمة من العبد لله لحل مثل هذا المشكل ضع هذا الكود في الجزء الخاص بالمصنف thisworkbook Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim ws As Worksheet, sheetlist As String For Each ws In ActiveWorkbook.Sheets sheetlist = sheetlist & ws.Name & "," Next With ActiveSheet.Range("a2").Validation .Delete .Add xlValidateList, Formula1:=Left(sheetlist, Len(sheetlist) - 1) End With End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Range("a2").Value <> "" Then Sheets(Range("a2").Value).Select End Sub وهو لوضع قائمة بأسماء الشيتات في الخلية a2 من كل الشيتات وبفضل الله القائمة ذاتية التحديث بحيث إذا تمت إضافة شيت أو حذف شيت يظهر أو يختفي من القائمة في الحال وعند الاختيار من القائمة يتم الانتقال للشيت الذي تم اختياره جرب أخي وأخبرني بالنتيجة1 point
-
بسم الله الرحمن الرحيم الجزء العملي من الفصل الرابع (الكائنات objects ) ويبقى جزء بسيط قريباً إن شاء الله ولا ينقصني سوى دعاؤكم1 point
-
أشكرك أخي سعد وقد أجابك من هو أفضل مني (الملائكة) : آمين ولك مثلها اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا1 point
-
تفضل أخي الكريم هذه فكرة بسيطة لعمل المطلوب mas_showform_1st_time_only.rar1 point
-
العزيز " يحيـــــــــــــــــــــــــــاوي " تسلم ايدك على الكود الجميل جدا مع الشكر والامتنان لهذ المتابعة المميزة والمشجعة لمشاركات الموضوع مرفق كود : عدم امكانية حفظ ملف اكسل الا بشرط - الشرح في المرفق - من اعمال الاستاذ ابو عمر " كيمــــــــــــــــــــاس " بتصرف ياسر وفقك الله ابو الحارث كود عدم حفظ الملف الا بشرط.rar1 point