بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/23/21 in all areas
-
بعد اذن الأستاذ خيماوى ولإثراء الموضوع يمكن ذلك بهذه المعادلة المعرفة MYVLOOKUP فعليك بفتح مديول جديد ووضع هذا الكود به وبالطبع فمعادلة الأستاذ خيماوى تعمل بكفاءة ولكن يظهر هذا الخطأ معك لأنك لم تستخدمة نسخة 365 من الأوفيس فهذه المعادلة موجودة بهذه النسخة فقط Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long) Dim r As Range Dim result As String result = "" For Each r In lookuprange If r = lookupval Then result = result & " " & r.Offset(0, indexcol - 1) End If Next r MYVLOOKUP = result End Function وعليك بوضع هذه المعادلة بداية من الخلية J7 سحباً للأسفل =MYVLOOKUP($I7,$D$6:$E$190,2) ورقة عمل Microsoft Excel جديد __.xlsm4 points
-
4 points
-
نعم صحيح اخي .... ما ما حبيت اغير في البرنامج ..... المفروض ما نعتمد على التسلسل الموجود في الجدول .... نعمل مربع نص خاص و نجعله غي منضم ومصدرة =1 بارك الله فيك لا حظ المرفق الجديد للفائدة حتى تكتمل الفكرة تقرير.rar4 points
-
السلام عليكم ورحمة الله تعالى وبركاته اليوم اقدم لكم مرفق ليس ميكروسوفت اكسس انما .exe وذلك لتسجيل مكتبات DLL هذا بالنسبة للمرفق ارفقت المكتبة الخاصة بالمرفق يمكنك اضافتها الى برنامج الاكسس الخاص بك لتسجيل المكتبات الخاصة بك المكتبة الذى ارفقتها بها ثلاث دوال GetPathBySedo وهى الدالة الخاصة باختيار ملف المراد تسجيله InstallService وهى الدالة الخاصة بتسجيل المكتبة UnInstallService وهى الدالة الخاصة بالغاء تسجيل المكتبة بعد اضافة المكتبة فى قاعدة البيانات الخاصة بك فى محرر اكود الاكسس تستطيع استدعاء الدوال عن طريق الاتى دالة تسجيل المكتبة + دالة جلب المسار يمكنك الاستغناء عن دالة استدعاء المسار اذا كان مسار المكتبة المراد تسجيلها محدد Dim dll As New Dll_Add_Remove.ClsTest dll.InstallService (dll.GetPathBySedo) دالة الغاء تسجيل المكتبة Dim dll As New Dll_Add_Remove.ClsTest dll.UnInstallService (dll.GetPathBySedo) برنامج تسجيل المكتبات.rar3 points
-
استخدم هذا الكود في الزر لديك .... واعلمنا بالنتيجة ...... Dim i, j As Integer Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("mytable") For j = 1 To WebBrowser3.Document.getElementsByTagName("table").Item(0).rows.Length - 1 rs.AddNew rs!t1 = WebBrowser3.Document.getElementsByTagName("table").Item(0).rows(j).cells(1).innerText rs!t2 = WebBrowser3.Document.getElementsByTagName("table").Item(0).rows(j).cells(2).innerText rs.Update Next MsgBox "تم الاستيراد بنجاح"3 points
-
3 points
-
الحل عندك في اكسس في خصائص الحقل / بيانات / قناع الإدخال الحرف الوصف 0 رقم (0 حتى 9، إدخال مطلوب، غير مسموح بعلامتي الجمع [+] والطرح [-]). 9 رقم أو مسافة (إدخال غير مطلوب، غير مسموح بعلامتي الجمع والطرح). # رقم أو مسافة (إدخال غير مطلوب، تحول المواضع الفارغة إلى مسافات، يسمح بعلامتي الجمع والطرح). L حرف هجائي (أ إلى ي، إدخال مطلوب). ? حرف هجائي (أ إلى ي، إدخال اختياري). A حرف أو رقم (إدخال مطلوب). a حرف أو رقم (إدخال اختياري). & أي حرف أو مسافة (إدخال مطلوب). C أي حرف أو مسافة (إدخال اختياري). . , : ; - / حرف نائب لعلامة عشرية وفواصل الآلف، التاريخ، والوقت. (يعتمد استخدام الحرف الحقيقي على الإعدادات الإقليمية في لوحة التحكم Microsoft Windows.) < يجعل كافة الأحرف التالية تتحول إلى أحرف صغيرة. > يجعل كافة الأحرف التالية تتحول إلى أحرف كبيرة. ! تجعل قناع الإدخال يعرض من اليمين إلى اليسار بدلاً من أن يعرض من اليسار إلى اليمين. يتم تعبئة الأحرف التي تكتب في القناع دائماً من اليسار إلى اليمين. يمكنك تضمين علامة التعجب في أي مكان في قناع الإدخال. \ يجعل الحرف التالي يعرض كحرف نصي. ويستخدم لعرض أي حرف من الأحرف المعروضة في هذا الجدول كحرف نصي (على سبيل المثال، يعرض \ A كـ A فقط). Password ُينتج عن إعداد خاصية قناع_الإدخال إلى الكلمة Password إنشاء مربع نص لإدخال كلمة المرور. يخزن كل حرف يكتب في مربع النص كحرف ولكن يعرض كعلامة نجمية (*).2 points
-
السلام عليكم ورحمة الله وبركاته تفضل اخوي العزيز المعادلة الاولى =TEXTJOIN("; ",1,REPT($E$6:$E$19,($D$6:$D$19=I6)+0)) المعادلة الثانية =TEXTJOIN("; ",1,IF($D$6:$D$19=I7,$E$6:$E$19,"")) ورقة عمل Microsoft Excel جديد __.xlsx2 points
-
2 points
-
نقاشنا في ليه انا مصمم او انت مصمم غير مجدي اطلعت على المرفق ويؤسفني اني اقول ان غالب الازرار وما خلفها من نماذج هو عمل غير صحيح ( الزام مالا يلزم) ويجب تعرف اخي العزيز اني اعمل معك برنامج مبيعات نموذجي على اسس علمية .. لك ولمن يأتي بعدك مراعيا فيه : 1- التكامل 2- المرونة (بحيث يصلح لأي مشروع مبيعات) 3- تسهيل عمل المستخدم ( اختصار كثير من عمليات الادخال ) 4- امكانية التطوير 5- التجانس في بيئة العمل فيما يتعلق في الشاشات وتصميم العرض ، لان التباين في الألوان والأحجام ومواضع الأزرار يتعب العين والنفس . في الاسواق الآن عموما نوعان من انظمة المبيعات : 1- النوع الاول وهو مثل برنامجنا هذا يعتمد على ادخالات المستخدم ويستخدم فيه لوحة المفاتيح والفأرة ويتم ادخال بعض البيانات والمبالغ المالية يدويا ، والمبرمج الحاذق يعمل على اختصار هذه الادخالات قدر الامكان وجعلها آلية يقوم بها البرنامج . فمثلا في شاشة الحركات يتم اختيار : (العميل والصنف والعدد والمبلغ المدفوع) فقط ، ربما يوجد ملاحظات مثلا عند سداد آجل او مصاريف ونحوها فتكتب في البيان وهذه الاخيرة قلية ونادرة 2- النوع الثاني وهو يعتمد على شاشتين منفصلتين للبيع والشراء يستخدم فيهما قارىء الباركود يسجل فيه من خلال القارىء بيانات الصنف وسعره اما المبالغ المالية المدفوعة فليس لها مكان في هذا النظام . واخيرا اخي الحبيب الأمر اليك .. فاعمل ما يرتاح اليه قلبك .2 points
-
2 points
-
2 points
-
انت عامل نموذج فردي ، فطبيعي يتغير السجل اللي انت عليه فقط ، بينما لو عملته في استعلام تحديث (كما عملتها لك في النموذج المرفق) ، تشغل الاستعلام ولما ينتهي من التحديث ، افتح النموذج وسترى كل شيء جاهز. أسطر2.accdb1 point
-
تفضل هذا الماكرو صفحة RESULT من هذا الملف Option Explicit Sub GET_DATA() Sheets("RESULT").Range("B3").CurrentRegion.Clear With Sheets("DATA SOURCE") .AutoFilterMode = False .Range("B3").CurrentRegion.AutoFilter 7, Criteria1:="=" & "*/*" .Range("B3").CurrentRegion.SpecialCells(12).Copy Sheets("RESULT").Range("B3").PasteSpecial (8) Sheets("RESULT").Range("B3").PasteSpecial .AutoFilterMode = False End With End Sub الملف مرفق (اضغط الزر Run فقط) Dates.xlsm1 point
-
@biskraشكراً لك هذا هو مثل المطلوب لقد جربته عندى وماشي الحال وشكرا لك مره اخرى ولكل الزملاء المحترمين1 point
-
بل هي اجابة شافية شاملة لطلبك ولجميع ما يشابهها في مستقبل حياتك مادمت تعمل على أكسس كان الأولى بك ان تقول : كيف اتعامل مع هذه الرموز لتحقيق طلبي ؟ انصحك بالقراءة عن قناع الإدخال في أكسس1 point
-
كل الشكر للجميع و للإستاذ Ali Mohamed Ali على المساعدة وحل المشكلة بنجاح1 point
-
السلام عليكم , هذا البرنامج موجود في صفحة احد الاخوة على يوتيوب وهو مجاني ومتاح للجميع ( جزى الله صاحبه خير الجزاء) يحتاج تعديل بسيط , المطلوب كشف (عام) للموردين والعملاء والصندوق, لان البرنامج يعطي كشف حساب لعميل او مورد واحد فقط , نحتاج كشف حساب لجميع العملاء او لجميع الموردين , يعني عندما تبحث عن حساب لا يلزمك البرنامج بادخال اسم العميل او المورد المحاسب.rar1 point
-
المشكلة ان المبرمج وضع حماية على برنامجة وكسرها يعتبر تعدي على الحقوق وهناك فرق بين استخدام البرنامج بشكل مجاني وتعديله اعتذر منك اخي الكريم1 point
-
السلام عليكم ورحمة الله وبركاته غير من xlPasteValues الى xlPasteFormats1 point
-
وهذا النوع يستخدم في مجال بيع التجزئة ولا يتطلب جدول للعملاء لكون المبيعات نقدية والمبلغ المدفوع يسجل تلقائي بمجرد تنفيذ او حفظ ( طباعة الفاتورة ). هذا النوع اكثر انتشارا حاليا ومن تجربة متابع من البداية واتمنى استكمال الموضوع لما فيه فائدة ودروس قيمة1 point
-
تفضل أخي الكريم معادلات في العمود A+إضافة صفحات في حال...., Sub test() Application.ScreenUpdating = False ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Temp" For Each sh In Worksheets If sh.Name <> "Main" And sh.Name <> "Temp" Then With Sheets("Main") lr = .Cells(Rows.Count, 16).End(xlUp).Row + 1 .Range("$A$2:$AQ$" & lr).AutoFilter Field:=16, Criteria1:=sh.Name Set rang = .Range("$A$2:$AQ$" & lr).SpecialCells(xlCellTypeVisible) rang.Copy Sheets("TEmp").Range("A1") .Cells.AutoFilter With Sheets("Temp") a = .Cells(1, 1).CurrentRegion .Cells(1, 1).CurrentRegion.ClearContents a = Application.Index(a, Evaluate("row(2:" & UBound(a) & ")"), Array(26, 30, "", 13)) End With With sh 1 lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row If lastrow / 41 < UBound(a) / 30 Then Rows("1:41").Copy Range("A" & lastrow + 2).Insert Shift:=xlDown Application.CutCopyMode = False GoTo 1 End If For I = 8 To lastrow Step 41 Range("B" & I).Resize(30, 4).ClearContents Next I x = 1 For Each myArea In .Columns(2).Resize(, 5).SpecialCells(4, 1).Areas n = myArea.Rows.Count If n = 30 Then myArea.Resize(n, 4).Value = Application.IfError(Application.Index(a, Evaluate("row(" & x & ":" & _ x + n - 1 & ")"), Evaluate("column(" & [a1].Resize(, 4).Address & ")")), "") x = x + n End If Next End With End With End If Next Sheets("Main").Select Application.DisplayAlerts = flase Sheets("Temp").Delete Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub1 point
-
السلام عليكم جرب ووافنا بالنتيجه Private Sub btn_search_Click() Set db = CurrentDb Set rs = db.OpenRecordset("select * from tbl_company ") Dim ser As String Me.txt_search.SetFocus ser = "*" & Me.txt_search.Text & "*" If IsNull(Trim(Me.txt_search.Value)) Then MsgBox "ادخل اسم الشركة للبحث عنها ", vbCritical, "البحث" Me.txt_search.SetFocus Exit Sub ElseIf IsNull(DLookup("[company_name]", "tbl_company", "company_name like '" & ser & "'")) Then MsgBox "هذه الشركة غير موجودة", 16, "بحث" ElseIf Not (Me.txt_search.Text = "") Then Me.sub_company.Form.Filter = "company_name like '" & ser & "'" Me.sub_company.Form.FilterOn = True Else Me.sub_company.Form.FilterOn = False Me.sub_company.Form.Refresh Me.txt_search = Null End If rs.Close Set rs = Nothing Set db = Nothing End Sub بالتوفيق1 point
-
احسنت استاذي الفاضل وبارك الله فيك ومن باب اثراء الموضوع احيانا يحتاج المستخدم لتحديد عدد معين من السجلات في التقرير بعد استلام البرنامج ومن الطبيعي انه لا يستطيع التعديل على الكود لذا اقوم بعمل حقل رقمي في النموذج قيمته الافتراضية 20 او 18 او اي عدد مناسب وفي امر فتح التقرير استخدم بارامتر OpenArgs لتحميل قيمة الحقل الرقمي عندها يستطيع المستخدم تغيير عدد السجلات في الصفحة وفقا لحاجة العمل1 point
-
1 point
-
1 point
-
يتم اطلاع العميل نعم يطلع على كل شيء من نموذج عرض العمليات ، بحيث يكون غير قابل للتعديل ، او حتى عرض تقرير بذلك بدون طباعة على كل حال الآن رجعنا الى منطقة الصفر اللي هي انك تريد تنفذ فكرتك اللي انت مقتنع بيها . وسبق نبهتك لهذه النقطة :1 point
-
1 point
-
1 point
-
نعم كما تفضلت اخي احمد سوف يتم اختصار بعض الجداول اما الحركات فهي في جدول واحد ولكن يبدوا ان اخونا لم تعجبه فكرة استبعاد عمودي دائن/مدين لا نعلم فقد يضطر للانسحاب كعملية تكتيكية للدفاع عنهما1 point
-
السلام عليكم ورحمة الله وبركاته اثراء الموضوع .. عن طريق المعادلة .. يوجد معادلتين .. في الشيت .. TAKSIM_TO COL.xlsm1 point
-
ليست المرة الاولى التي اذكر بأنه ليس من الضرورة ادراج بيانات كبيرة (اكثر من 5000 صف) لأن الماكرو الذي يعمل على خلية واحدة يستطيع العمل على الوف الالوف منها Sub Row_to_column() Dim Ro%, I%, m%, K% With Sheets("MAIN") Ro = .Cells(Rows.Count, 1).End(3).Row .Range("C2", Range("E1").End(4)).ClearContents m = 2 For I = 2 To Ro Step 3 For K = 0 To 2 .Cells(m, 3).Offset(, K) = _ .Cells(I, 1).Offset(K) Next K m = m + 1 Next I End With End Sub الملف مرفق TAKSIM_TO COL.xlsm1 point
-
بالفعل تقديم جميل يبرز طاقة الاكسس في العرض ، والباقي يعتمد على خيال المبرمج 🙂 جعفر1 point
-
تفضل بعد اذن الأستاذ ابراهيم طبعاً ... فكان عليك تعيين زر لحسن عمل الكود , تفضل نسخة من المصنف1 1.xlsm1 point
-
1 point
-
تبدأ من أول وجديد يجب ان تكون خطواتك علمية مدروسة خطوة خطوة وفقرة فقرة وتستمع بكل خطوة ، ولا يصلح العمل العشوائي اولا : تصميم الجداول بحاجة الى اعادة ضبط فني وعملي اليك بعض الملاحظات التي يجب العمل بها ، علما ان هذه الملاحظات عامة لا تخصك انت فقط تسمية الجدول : يجب ان تكون التسمية دليل على المحتوى ويفضل ان تبدأ التسمية بالبادئة tbl للجدول وللاستعلام qry وللنموذج frm وللتقرير rep فجدول الاصناف يمكن تسميته هكذا : tblItems أو tblAsnaf لاحظ حرف الكابتل عند بداية كلمة جديدة ، الحرف الكبير يساعد على قراءة الاسم بسهولة مثلا : tblAnnualBonuses tblAlshtrakatAlmonthya يمنع منعا باتا ترك مسافات بين الكلمات في التسمية الحذر من تسمية الكائنات والعناصر في قاعدة البيانات بكلمات محجوزة في اكسس وهذا رابط مساعد انظر الصورة ادناه حيث وقعت في المحذور في تسمية الحقلين عزيزي : هذه مقدمة ردا على تساؤلك الاخير فإن اعجبك سوف نستمر خطوة خطوة ونعمل تطبيق على كل خطوة1 point
-
جزاكم الله خيرا اخوانى واساتذتى د حسنين ممكن نطمع فى شرح لهذه النقطه فى موضوع مستقل منك1 point
-
سلسلة تعليم بور كويري الجزء التاسع كيفية تقسيم عمود إلى عدة اعمدة في البور كويري Split by Delimiter IN POWER QUERY1 point
-
السلام عليكم ورحمة الله كود للبحث بالرقم القومى و تلوين الاسم Sub SearchData() Dim ws As Worksheet, Sh As Worksheet Dim lr As Long, i As Long Dim data Set Sh = Sheets("البحث") data = Sh.Range("C7").Value Application.ScreenUpdating = False For Each ws In Worksheets If ws.Name <> "البحث" Then lr = ws.Range("A" & Rows.Count).End(3).Row i = 8 Do While i <= lr If ws.Cells(i, 1) = data Then Sh.Range("C8").Value = ws.Cells(i, 2).Value Sh.Range("C9").Value = ws.Cells(i, 3).Value Sh.Range("C10").Value = ws.Cells(i, 4).Value Sh.Range("C11").Value = ws.Cells(i, 5).Value ws.Cells(i, 1).Interior.ColorIndex = 10 End If i = i + 1 Loop End If Next Application.ScreenUpdating = True End Sub1 point
-
جزاك الله خيرا غير هذا السطر ws.Range("g2:g" & lr1).Copy wb.Worksheets(1).Range("g" & lr2) بهذا ws.Range("g2:g" & lr1).Copy wb.Worksheets(1).Range("g2")1 point
-
1 point
-
فك الضغط وخزن المجلد في اي فولدر documen.rar1 point
-
1 point