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

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

  1. عبدالله بشير عبدالله
  2. Foksh

    Foksh

    الخبراء


    • نقاط

      3

    • Posts

      4976


  3. هاني العلي

    هاني العلي

    الخبراء


    • نقاط

      1

    • Posts

      156


  4. الدكتور جمال راجح

    • نقاط

      1

    • Posts

      27


Popular Content

Showing content with the highest reputation on 07/31/26 in مشاركات

  1. وعليكم السلام ورحمة الله وبركاته الكود المرفق يقوم :- بالغاء حماية الشيتات المستهدفة 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
  2. السلام عليكم ورحمة الله وبركاته من خلال التجربة لملف Data Validation الاول - طلب السائل الكريم يتحقق مع تعديل النمط الى ايقاف كما تصحته في مشاركة لاحقة ولا اعتقد انه يمكن اظافة اي جديد اكثر مما تم عمله هذا حسب اعتقادي والله اعلم تحياتي لكما
    2 points
  3. حبايب قلبي عشاق برنامج الاكسس تم تحديث نظام lab الطبي نظام متكامل ونظراً لحجمه عملته لكم في رابط ما عليك الا تنزله وفك الضغط في قرص d كلمة المرور ١ حال عدم السماح بالدخول يرجع السبب الى اعدادات الماكرو لديك قم بالدخول الى خيارات من اي ملف اكسس مفتوح ثم إعداد الماكرو واعمل سماح بالتوفيق https://drive.google.com/file/d/1YDRRLchNAfArPzdS129nnpQlqJLHfL8M/view?usp=drivesdk
    1 point
  4. كررت التجربة والملف يعمل ولا يسمح باظافة اي كمية تتجاوز الموحود بالمخزن ولكن هناك سبب يجغل الرصيد في المخزن بالسالب عندما تكتب الكمية اولا ثم تختار توع الحركة بعدها هنا يتم قبول الكمية ولو كان الصنف انتهى من المخزن وهذه حلها الغاء خاصية تجاهل الفراغ حينها لا يقبل اي كمية سواء اخترت نوع الحركة اولا او اخر جرب الغاء الخاصية في ملف الاستاذ Foksh واليك ملف اخر بنفس فكرة Data Validation باستخذام عمود مساعد في العمود o بالرغم انني لا احبذ استخذم الاعمدة المساعدة وله نفس نتائج ملف معلمنا Foksh مخزن 1.xlsb
    1 point
  5. جرب استعمال الاستعلام التالي كمصدر للتقرير :- 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
  6. هل يمكن استخدام تأثيرات كثيرة في الشريحة؟ استخدم الحركات للعناصر باعتدال؛ حتى لا تشتت الانتباه.
    1 point
  7. يمكننا الإنتظار مشاركات جديدة .. فلا تستعجل بإغلاق الموضوع باختيار الإجابة 🙂
    1 point
  8. طيب .. رغم أن الطلب تم تحقيقه من خلال 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.xlsb
    1 point
×
×
  • اضف...

Important Information