بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation since 07/25/26 in مشاركات
-
طيب .. رغم أن الطلب تم تحقيقه من خلال Data Validation ، ولكن هذا لا يمنع من تجربة الفكرة التالية من خلال الأكواد . حيث تم دمج الحدث عند التغيير للورقة من :- If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B3:B3000")) Is Nothing Then With Target(1, 5) .Value = Date & " " & Time .EntireColumn.AutoFit End With End If ليصبح :- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Or Target.Row < 3 Then Exit Sub If Target.Column = 2 And Target.Value <> "" Then Target.Offset(0, 4).Value = Now If (Target.Column = 4 Or Target.Column = 5) And Trim(Me.Cells(Target.Row, "D").Value) = "بيع" Then Dim r As Long: r = Target.Row Dim itemCode As Variant: itemCode = Me.Cells(r, "B").Value Dim qty As Double: qty = Val(Me.Cells(r, "E").Value) If Not IsEmpty(itemCode) And qty > 0 Then Dim stockSheet As Worksheet: Set stockSheet = Worksheets("المخزن") Dim findCell As Range Set findCell = stockSheet.Range("B3:B800").Find(What:=itemCode, LookIn:=xlValues, LookAt:=xlWhole) If Not findCell Is Nothing Then Dim realAvailableStock As Double realAvailableStock = Val(stockSheet.Range("I" & findCell.Row).Value) + qty If qty > realAvailableStock Then MsgBox "• لا يمكنك إتمام عملية البيع هذه" & vbCrLf & vbCrLf & _ "• الصنــف: " & Me.Cells(r, "C").Value & vbCrLf & _ "• الرصيد المتاح حالياً: " & realAvailableStock & " قطعة" & vbCrLf & _ "• الكمية المطلوبة: " & qty & " قطعة", _ vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "تجاوز الرصيد" Application.EnableEvents = False Me.Cells(r, "E").ClearContents Me.Cells(r, "E").Select Application.EnableEvents = True End If End If End If End If End Sub ملفك بعد التطبيق :- مخزن 1.xlsb3 points
-
تم التعديل الكود حاليا يقوم بحذف اي صور من النطاق a2:v2 قبل ادراج الصورة الجديدة حتى لا تتراكم الصور فوق بعضها كذلك تم تعديل اسم الصورة ومكانها على الجهاز بحيث يمكنك احتيار اي صورة وباي اسم وباي امتداد من الجهاز ويمكنك اضافة اي امتداد اخر غير مدرج بالكود .Filters.Add "جميع الصور", "*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tiff" تم استتناء ورقة3-ورقة6 من ادراج الصور ويمكنك استتناء المزيد وذلك باظافة اسم الورقة بالكود من الجزء For Each ws In Worksheets If ws.Name <> "ورقة3" And ws.Name <> "ورقة6" Then ادراج صورة (2).xlsm3 points
-
سيكون الحل بطريقتين حسب استخدامك للملف إذا كنت تقوم بفلترة العمود الأول (عمود1) يدوياً ليظهر فقط التواريخ من 8 إلى 11: استخدم المعادلة =SUMPRODUCT(SUBTOTAL(109; OFFSET(I8:I100; ROW(I8:I100)-ROW(I8); 0; 1)); --(H8:H100=E4)) وإذا أردت حصر الجمع تلقائياً بين تاريخين دون الاعتماد على الفلترة اليدوية استخدم المعادلة =SUMIFS(I8:I100; H8:H100; E4; G8:G100; ">=08-يوليه"; G8:G100; "<=11-يوليه") واليك المعادلتان في ملف واحد واختر ما يناسب طلبك جمع القيم لشخص مع الفلترة.xlsx3 points
-
كررت التجربة والملف يعمل ولا يسمح باظافة اي كمية تتجاوز الموحود بالمخزن ولكن هناك سبب يجغل الرصيد في المخزن بالسالب عندما تكتب الكمية اولا ثم تختار توع الحركة بعدها هنا يتم قبول الكمية ولو كان الصنف انتهى من المخزن وهذه حلها الغاء خاصية تجاهل الفراغ حينها لا يقبل اي كمية سواء اخترت نوع الحركة اولا او اخر جرب الغاء الخاصية في ملف الاستاذ Foksh واليك ملف اخر بنفس فكرة Data Validation باستخذام عمود مساعد في العمود o بالرغم انني لا احبذ استخذم الاعمدة المساعدة وله نفس نتائج ملف معلمنا Foksh مخزن 1.xlsb2 points
-
وعليكم السلام ورحمة الله وبركاته الكود المرفق يقوم :- بالغاء حماية الشيتات المستهدفة 123 ثم يتم اظهار الصفوف 1-2 ثم يمسح الصور السابقة بعد ادراج الصور يتم اخفاء الصفوف1-2 ثم حماية الصفحات من جديد 123 استبدل الكود السابق بهذا تم تجربة الكود على 28 صفحة في حدود 3 الى 4 ثانية Private Sub CommandButton13_Click() Dim ws As Worksheet Dim Pic As Shape Dim shp As Shape Dim rng As Range Dim fd As FileDialog Dim imgPath As String Dim i As Long Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .Title = "اختر الصورة المراد إدراجها" .Filters.Clear .Filters.Add "جميع الصور", "*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tiff" .AllowMultiSelect = False If .Show = -1 Then imgPath = .SelectedItems(1) Else Exit Sub End If End With Application.ScreenUpdating = False On Error Resume Next Application.CommandBars.FindControl(ID:=549).Execute On Error GoTo 0 For Each ws In Worksheets If ws.Name <> "قائمة" And ws.Name <> "مخزن" Then On Error Resume Next ws.Unprotect Password:="123" On Error GoTo 0 ws.Rows("1:2").Hidden = False Set rng = ws.Range("A2:V2") For i = ws.Shapes.Count To 1 Step -1 Set shp = ws.Shapes(i) If shp.Type = msoPicture Or shp.Type = msoLinkedPicture Then On Error Resume Next If Not Intersect(shp.TopLeftCell, rng) Is Nothing Then shp.Delete End If On Error GoTo 0 End If Next i Set Pic = ws.Shapes.AddPicture( _ Filename:=imgPath, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=rng.Left, _ Top:=rng.Top, _ Width:=rng.Width, _ Height:=rng.Height) With Pic .LockAspectRatio = msoFalse .Placement = xlMoveAndSize End With ws.Rows("1:2").Hidden = True ws.Protect Password:="123" End If Next ws Application.ScreenUpdating = True MsgBox "تم إدراج الصورة بنجاح!", vbInformation, "تم بنجاح" End Sub كما يمكنك الغاء اكوادالحماية وغيرها من ملفك لانها اصبحث من صمن الكود السابق2 points
-
السلام عليكم ورحمة الله وبركاته من خلال التجربة لملف Data Validation الاول - طلب السائل الكريم يتحقق مع تعديل النمط الى ايقاف كما تصحته في مشاركة لاحقة ولا اعتقد انه يمكن اظافة اي جديد اكثر مما تم عمله هذا حسب اعتقادي والله اعلم تحياتي لكما2 points
-
يمكننا الإنتظار مشاركات جديدة .. فلا تستعجل بإغلاق الموضوع باختيار الإجابة 🙂2 points
-
السلام عليكم محاولتي مع الروابط في الفيديو2 points
-
السلام عليكم ورحمة الله وبركاته تحياتي لك ولاستاذنا Foksh مشكلة الملف به امتددان ادراج صورة.xlsm.xlsx بحذف الامتداد xlsx يعمل الملف لاظافة الخاصية المطلوبة اولا يجب حذف كلمة Private ليصبح اسم الكود Sub Comm() ثانيا يجب أن تكون الصورة موجودة بالفعل داخل القرص D بهذا الاسم بالضبط (عنوان.jpg) ثالتا امتداد الملف هو jpg وليس png أو jpeg؛ لأن عدم تطابق الامتداد سيتسبب في ظهور خطأ عند تشغيل الكود. في حال تغير مكان الضورة او امتدداها قم بالتعديل بالكود اليك الكود بعد اظافة الخاصية xlMoveAndSize نقل الخلايا وتغيير حجمها Sub Comm() Dim ws As Worksheet Dim pic As Object For Each ws In Worksheets Set pic = ws.Pictures.Insert("D:\عنوان.jpg") pic.Placement = xlMoveAndSize Next ws End Sub ادراج صورة.xlsm2 points
-
عاشت ايدك استاذ عبدالله مشكوره جهودك الله يحفظك ويبارك بيك تحياتي لحضرتك1 point
-
التفاته جيدة أستاذ عبدالله ، لم اقم بتجربتها فعلاً ، حيث ان خبرتي حديثة العهد في مجتمع اكسل . ونتعلم منكم فعلاً بعض الأمور التي أجهلها ، فشكراً لكم من القلب 🤗 . وهنا أرجح أجابتكم إن كانت ترضي صاحب الموضوع أخي @كمال على طارق .1 point
-
حبايب قلبي عشاق برنامج الاكسس تم تحديث نظام lab الطبي نظام متكامل ونظراً لحجمه عملته لكم في رابط ما عليك الا تنزله وفك الضغط في قرص d كلمة المرور ١ حال عدم السماح بالدخول يرجع السبب الى اعدادات الماكرو لديك قم بالدخول الى خيارات من اي ملف اكسس مفتوح ثم إعداد الماكرو واعمل سماح بالتوفيق https://drive.google.com/file/d/1YDRRLchNAfArPzdS129nnpQlqJLHfL8M/view?usp=drivesdk1 point
-
وعليكم السلام جرب الكود المعدل بالملف تغيير لون الخلايا المحدده بالماوس من خلال اليوزر فورم_085825.xlsm1 point
-
جرب استعمال الاستعلام التالي كمصدر للتقرير :- SELECT Tb_personal_data.rkm_mlf, Tb_personal_data.cod_mothaf, Tb_personal_data.student_name, Tb_personal_data.kwmy, Tb_personal_data.tr_milad, Tb_personal_data.mkan_milad, Tb_personal_data.mkan_scan, Tb_personal_data.gns, Tb_Dyana.Dyana AS dyana, Tb_Gnsya.Gnsya AS gnsya, Tb_Hala_Egtmaia.Hala_Egtmaia AS Hala_Egtmaia, Tb_personal_data.rkm_hatef, Tb_personal_data.rkm_tamin, Tb_Mrhla.Empo_Mrhla AS Mrhla, Tb_Gob.The_Gob AS Gha_Aml, Tb_Functional_data.noa_taeen, Tb_Functional_data.tr_taeen, Tb_Functional_data.tr_estlam_aml, Tb_Functional_data.mokf_aml, Tb_Functional_data.mgmoa_taleem, Tb_Functional_data.wathifa, Tb_Functional_data.rkm_krar, Tb_Functional_data.tr_krar, Tb_Functional_data.kader, Tb_Functional_data.mada_tdrees, Tb_Qualification_data.noa_moahel, Tb_Qualification_data.drga_elmia, Tb_Qualification_data.moahel, Tb_Qualification_data.gha_hslo, Tb_Qualification_data.tr_hsol, Tb_Qualification_data.tkdeer, Tb_Additional_data.mkr_aml, Tb_Additional_data.rkm_nekba, Tb_Additional_data.rkm_seha, Tb_Additional_data.tr_maash, Tb_Additional_data.mokf_tgneed, Tb_Additional_data.emil, IIf(Mid([kwmy],1,1)=2,19,20) & "" & Mid([kwmy],2,2) & "/" & Mid([kwmy],4,2) & "/" & Mid([kwmy],6,2) AS Tarik_Milad FROM (((((((Tb_personal_data LEFT JOIN Tb_Dyana ON Tb_personal_data.dyana = Tb_Dyana.Dyana_ID) LEFT JOIN Tb_Gnsya ON Tb_personal_data.gnsya = Tb_Gnsya.Gnsya_ID) LEFT JOIN Tb_Hala_Egtmaia ON Tb_personal_data.Hala_Egtmaia = Tb_Hala_Egtmaia.Egtmaia_ID) LEFT JOIN Tb_Functional_data ON Tb_personal_data.rkm_mlf = Tb_Functional_data.rkm_mlf_Func) LEFT JOIN Tb_Mrhla ON Tb_Functional_data.Mrhla = Tb_Mrhla.Mrhla_ID) LEFT JOIN Tb_Gob ON CStr(Tb_Functional_data.Gha_Aml) = CStr(Tb_Gob.Gob_ID)) LEFT JOIN Tb_Additional_data ON Tb_personal_data.rkm_mlf = Tb_Additional_data.rkm_mlf_Addi) LEFT JOIN Tb_Qualification_data ON Tb_personal_data.rkm_mlf = Tb_Qualification_data.rkm_mlf_Qual;1 point
-
و عليكم السلام ورحمة الله و بركاته تفضل الملف. ملحوظة تم تعديل الاسماء و أرقام الاقامة لان من غير المنطقي أن تكون كل البيانات متشابهة تماما ماعدا رقم اللوحة مما يفقد البحث بالاسم أو رقم الاقامة فائدته فواز_معدل_للبحث_محدث (2).xlsx1 point
-
1 point
-
أحسنت استاذنا الكريم وهذا هو المطلوب بالضبط بارك الله فيك وزادك الله من فضله وياريت كان تم الوصول لهذه النتيجة بـــــ Data Validation1 point
-
مداخلة سريعة .. أعتقد أن السبب هو في جملة الإغلاق DoCmd.Quit ، وبما أنك أخفيت واجهة آكسيس ، فجملة الإغلاق هذه تجعل آكسيس يتخطى ويتجاوز الضغط والإصلاح لمنع تجمد أو حدوث Crash لواجهة آكسيس . لذا اعتقد ان تفعيل الخاصية يدوياً من خلال السطر :- Application.SetOption "Auto Compact", True في حدث عند التحميل أو الفتح ( حسب الحدث الذي تستدعي فيه جملة Hide Access Window يتم وضعه قبلها طبعاً ) في النموذج الأول ، وأيضاً استعمالها بالإستدعاء نفسه قبل جملة الاغلاق DoCmd.Quit في أي زر يقوم بإغلاق الواجهة .. وستلاحظ أن الخيار يبقى مفعلاً في القاعدة .1 point
-
ما تم تعديله على الملف :- عمود الوارد H (إجمالي المشتريات) في ورقة المخزن :- =SUMIFS('الحركات اليومية'!$E$3:$E$800,'الحركات اليومية'!$B$3:$B$800,$B3,'الحركات اليومية'!$D$3:$D$800,"شراء") عمود الصادر G (إجمالي المبيعات) في ورقة المخزن :- =SUMIFS('الحركات اليومية'!$E$3:$E$800,'الحركات اليومية'!$B$3:$B$800,$B3,'الحركات اليومية'!$D$3:$D$800,"بيع") في ورقة الحركات اليومية تم ضبط Data Validation للعمود E ليصبح :- =OR($D3="شراء",$E3<=VLOOKUP($B3,المخزن!$B$3:$I$800,8,FALSE)) أيضاً في الـ Data Validation تم ضبط رسالة الخطأ لتصبح :- أيضاً في الخلية C3 في ورقة الحركات اليومية ، تم ضبط الخلية لتجلب اسم الصنف تلقائياً من خلال المعادلة :- =IFERROR(VLOOKUP(B3,المخزن!$B$3:$C$800,2,FALSE),"") الآن جرب ملفك بإدخال حركة شراء لصنف معين ، وحركة بيع لهذا الصنف ، ولاحظ عملية تحديث الرصيد له في ورقة المخزن . ومن ثم جرب ادخال حركة بيع لكمية أكبر من رصيد الصنف هذا وراقب النتيجة . الملف جربه علي أكون قد وُفقت في تعديلاتي البسيطة مخزن 1.xlsb1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته .. هل الصورة التالية كنتيجة صحيحة ؟؟ إن كانت النتيجة صحيحة ، فالمعادلة :- =IF(C3="","",IF(I3<=0,"نفذ المخزون بالفعل",IF(I3<=3,"أوشك المخزون على النفاذ",""))) طبعاً هذا إذا كان منطقك التجاري هو: الرصيد ≤ 0 :- نفذ المخزون بالفعل الرصيد من 1 إلى 3 :- أوشك المخزون على النفاذ الرصيد أكبر من 3 :- لا تعرض شيئاً = فارغ1 point
-
استاذنا الفاضل دا ملف فيه المطلوب ارجو ان اكون وفقت جمع القيم لشخص مع الفلترة.xlsx1 point
-
نعم يمكن ذلك استبدل الكود السابق بهذا Sub Comm() Dim ws As Worksheet Dim pic As Object Dim rng As Range On Error Resume Next Application.CommandBars.FindControl(ID:=549).Execute On Error GoTo 0 For Each ws In Worksheets Set rng = ws.Range("A2:V2") Set pic = ws.Pictures.Insert("D:\عنوان.jpg") pic.ShapeRange.LockAspectRatio = msoFalse With pic .Top = rng.Top .Left = rng.Left .Width = rng.Width .Height = rng.Height .Placement = xlMoveAndSize End With Next ws End Sub السطر Application.CommandBars.FindControl(Id:=549).Execute هذا السطر يفعل أمر "الانطباق على الشبكة" (Snap to Grid) كما في طلبك ادراج صورة (1).xlsm1 point
-
وعليكم السلام ورحمة الله وبركاته اليك التعديل والكود في الملف المرفق تلقائي حيث يتم استدغاؤه بدل كتابة الكود بالكامل وكذلك بزر مرتبطا بزر جلب البيانات اعتقد ان الكود اسرع ويحتاج الامر منك الى التاكد من النتائج لانه يوجد العديد من الاوامر بالكود الاصلي تحتاج الى وقت للتاكد من النتائج في حالة عدم توافق النتائج ارجو تحديد الجزء او الاجزاء الغير متوافقه مع تحديد الحلايا والشيتات في انتظار تنتائج تجربتك للكود شهادات1.xlsb1 point
-
الفكرة جميلة ، والتنفيذ سليم بنسبة كبيرة . وقد كان لي تطرق سابق لفكرة مشابهة ولكن على عكسك تماماً . حيث كانت تجربتي من خلال أداة كاسر ملفات آكسيس Accde - واستخراج محتوى قواعد البيانات نسخة 32 | نسخة 64 . إلا أن فكرتك قابلة للإختراق والكسر لأسف . شكراً لك على مجهودك1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
الاستاذ موسى الكلباني ,, من اروع الشخصيات الراااقيه التي عرفتها في هذا المنتدى ,, كل الاحترام والتقدير لك ,, وجزاك الله خير الجزاء1 point
-
وعليكم السلام ورحمه الله وبركاته اتفضل لعله يكون المطلوب جدول ورديات.xlsm1 point
-
بعد تجربة كل الواجهات مع سيكوال من سى شارب الى فيجول بيسك نت الى واجهات البايثون كلهم متجمعين لايساووا مرونة اكسس فى الاتصال والاستعلامات التمريرية وكنت لو اتمنى ان تسعى مايكروسوفت لتطوير اكسس كلغة ليناسب الويب بدلا من دعمها الدائم ل power apps1 point
-
1 point