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

أ / محمد صالح

أوفيسنا
  • Posts

    4479
  • تاريخ الانضمام

  • Days Won

    198

كل منشورات العضو أ / محمد صالح

  1. اللجوء للكود يكون للحالات التي لا نستطيع عملها بالاكسل بطريقة عادية وبالنسبة لمطلوبك يمكنك حماية جميع خلايا الشيت بالضغط على المثلث الموجود بين العمود A والصف 1 ثم الضغط عل ctrl+1 لفتح نافذة تنسيق الخلايا ثم الذهاب الى تبويب حماية protection ثم التأشير على محمي locked ومخفي hidden ثم موافق ********* بعدها الغاء الحماية عن الخلايا التي تريدها بتحديد الخلايا ثم نفس الخطوات مع حذف علامة صح بجانب محمي،ومخفي ******* حتى الآن الشيت جاهز لتنفيذ الحماية من تبويب مراجعة review ثم حماية ورقة العمل protect worksheet وفي هذه النافذة اكتب كلمة المرور مرتين واحذف علامة الصح بجانب تحديد الخلايا المحمية select locked cells بالتوفيق
  2. يبدو أن هذا الامر لا يتعلق بالموضوع ولا ملف الموضوع يمكنك بدء موضوع جديد حتى يكون كل موضوع له خصوصيته
  3. لتوظيف الكود في ملفك يمكنك حذف 8 اسطر من السطر الذي بدايته obj.settext إلى السطر قبل next وضع بدلا منهم الكود الخاص بي مع وضع متغيراتك الخاصة بالرقم والرسالة Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.navigate "whatsapp://send?phone=" & contact & "&text=" & message Application.Wait Now() + TimeSerial(0, 0, 5) SendKeys "~" Set IE = Nothing مع التاكيد على احتواء الرقم على مفتاح الدولة بالتوفيق
  4. حتى يعمل ينبغي وضع قبل end if Call FileDialog_Click exit sub للخروج من الاجراء وفتح مستعرض الملفات وبالنسبة لموضوع اسم الملف فالذي يحدده المستعرض ربما لم يصلني ما تريد بدقة
  5. بالنسبة للسؤال الأول أعتقد أن المشكلة في طريقة ربط النموذج بالاستعلام حيث يمكنك إنشاء نموذج جدولي،من خلال المعالج للاستعلام وتعيد تنسيقه كما تشاء ثم تضيف قائمة باسماء الموظفين للنموذج ثم تكتب في الاستعلام مسار عنصر القائمة وفي حدث بعد التحديث للقائمة نستعمل me.requery بالنسبة للسؤال الثاني لي افتراح يمكنك اضافة حقل عدد ايام العمل وياخذ الموظف نسبة هذه الايام على عدد ايام الشهر او على 30 بصورة ثابتة فمثلا من عمل من منتصف الشهر يكون راتبه الراتب في 15 على 30 وبهذا يحصل على نصف الراتب وهكذا
  6. يمكنك تجربة هذا المرفق بإخراج آخر وتكبير حجم شريط التقدم وكتابة النسبة في المنتصف في تسمية واحدة شفافة بالتوفيق Classeur1111.rar
  7. as you like كما تحب ولكن استخدام كائن انترنت اكسبلورر افضل من الهايبر لينك والكود المختصر يمكن استخدامه في حلقات تكرارية للارسال للجميع أعطيتك الكود لتقوم بتوظيفه كما تشاء ولكنك لا تريد بالتوفيق
  8. تفضل أخي الكريم يمكنك استخدام دالة معرفة udf لجلب معيار او معيارين للفلتر في الخلية وتكون فارغة في حالة عدم تشغيل الفلتر Function AutoFilter_Criteria(Rng As Range) As String Dim str1 As String, str2 As String Application.Volatile With Rng.Parent.AutoFilter With .Filters(Rng.Column - .Range.Column + 1) If Not .On Then Exit Function str1 = CStr(.Criteria1) If .Operator = xlAnd Then str2 = " AND " & CStr(.Criteria2) ElseIf .Operator = xlOr Then str2 = " OR " & CStr(.Criteria2) End If End With End With AutoFilter_Criteria = Replace(UCase(Rng) & ": " & str1 & str2, "=", "") End Function ولاستدعائها =AutoFilter_Criteria(C7) بالتوفيق
  9. لن تجد ما يحقق غرضك مائة بالمائة ولكن يمكنك تطويع الفكرة لما يناسب ملفك لتحويل المعادلة الى كود يمكنك استعمال هذا الإجراء ويمكنك تغيير النطاق E3 كما تشاء With Range("e3") .Formula = "put your formula here" .Value = .Value End With التوفيق
  10. يا اخي كل هذا معروف الذي استوقفني في طلبك كلمة بدون تغيير لغة النظام وقولك بعد ذلك أن هذا الكود لا يغير لغة النظام بالتوفيق
  11. يمكنك استعمال المعادلة التالية في الخلية C2 =IF(B2="",DATEDIF(A2,TODAY(),"d"),DATEDIF(A2,B2,"d")) وبالنسبة للتنسيق الشرطي يمكنك استعمال المعادلة =b2="" وتطبق على العمود C بالتوفيق
  12. لا يظهر عندي أي خطأ وخصوصا انه لا يوجد كود في حدث عند الفتح
  13. هل تستعمل تطبيق واتساب للكمبيوتر أعتقد هذا الكود لا يستعمل web.whatsapp جرب هذا الكود المختصر للارسال في حالة تثبيت البرنامج في الكمبيوتر Sub whatsappme() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.navigate "whatsapp://send?phone=0000000000&text=message" Application.Wait Now() + TimeSerial(0, 0, 5) SendKeys "~" Set IE = Nothing End Sub مع استبدال الأصفار بالرقم المطلوب مع مفتاح الدولة وكلمة message بنص الرسالة بالتوفيق
  14. جرب هذا الكود لإجراء الترحيل Sub migration() Application.ScreenUpdating = 0 lr1 = Sheets("migration").Cells(Rows.Count, 2).End(xlUp).Row lr2 = Sheets("ALL DATA").Cells(Rows.Count, 2).End(xlUp).Row Sheets("migration").Range("b4:n" & lr1).Copy Sheets("ALL DATA").Select Sheets("ALL DATA").Range("B" & lr2 + 1).PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = 0 Sheets("ALL DATA").Range("B4").Select Sheets("migration").Select For n = 4 To lr1 Dim cl As Range, inrange As Boolean For Each cl In Range(Cells(n, 2)) If cl.Value = Cells(n, 2).Offset(0, 4).Value Then inrange = True Next If Not inrange Then Range(Cells(n, 2)).Cells(Range(Cells(n, 2)).Cells.Count).Offset(1) = Cells(n, 2).Offset(0, 4).Value Next n Range("b4:n52").ClearContents Range("B4").Select Application.ScreenUpdating = 1 MsgBox "Done" End Sub بالتوفيق
  15. رائع جدا تطبيقك للفكرة ويمكنك استعمال هذا الكود فقط في النموذج Private Sub UserForm_Activate() minutes = 0.1 For a = 1 To 100 timer_avant = Timer Do While Timer < timer_avant + minutes DoEvents Me.Im1.Width = a * 474 / 100 Me.Nour1.Caption = a Loop Next Me.Hide End Sub لاحظ التغيير في عرض التسمية im1.width حيث 474 هو العرض الأساسي للتسمية ونحن قسمنا 474 على 100 ثم ضربنا في a لنحصل على العرض الكامل في نهاية العداد a بالتوفيق
  16. أولا أنصح بالتحول إلى إصدار أوفيس أعلى من 2003 تم تغيير امتداد الملف لتعمل دالة iferror تم الحساب على تاريخ نهاية الاستحقاق R7 بالتوفيق بيان اجارات الشركة.xlsx
  17. بل يغير لغة النظام وللتأكيد غير لغة النظام إلى لغة مختلفة وليكن الإنجليزية ثم افتح النموذج وضع المؤشر في الحقل الذي حددت خاصية لوحة المفاتيح له رقم 3 (اللغة العربية المملكة العربية السعودية) وانظر إلى شريط اللغة في شريط المهام ماذا تلاحظ ؟؟ تغير اللغة من الإنجليزية إلى العربية بالتوفيق
  18. هل هذا الكود لا يغير لغة النظام؟؟؟ هذه الخاصية تحدد لغة الكتابة لهذا الحقل (مربع النص) فبمجرد وصول التركيز له يغير لغة النظام إلى اللغة المحددة في الخاصية
  19. يمكنك الكتابة في الحقول بأي لغة تريد ولكن يتم قبلها تغيير لغة النظام إلى اللغة المطلوبة فكيف تكتب انجليزي مثلا ولغة النظام عربي اللهم إلا إذا استعملت keycode في حدث مثل keydown
  20. اقتراح جميل شوف ايه المطلوب في سوق العمل عندك وإن شاء الله نقوم به جميعا
  21. نعم انا ألفتها بعد تنحي مبارك مباشرة راجيا أن يصلح الله أحوالنا جميعا
  22. بعد إذن أخي محمد ابو عبد الله وإذا كنت تريد التصدير لنفس الملف يمكنك استبدال هذا السطر في كود التصدير ExpEX = CurrentProject.Path & "\" & "tbl_Items.XLSX" بالتالي ExpEX = Me.FilePath.Value طبعا بشرط أن يتم تحديد الملف بزر استعراض اولا والا يكون اسم الملف فارغا بالتوفيق
  23. يمكنك استعمال هذا الشرط ضع في المصفوفة shArr اسماء الشيتات التي ترغب البحث فيها وغير كود for each x الى shArr = array("sheet1","sheet2","sheet3") For Each x In ThisWorkbook.Worksheets if UBound(Filter(shArr, x.name)) > -1 then ss = x.Cells(Rows.Count, 2).End(xlUp).Row For Each C In x.Range("c3:c" & ss) b = InStr(C, TextBox19) If b > 0 Then ListBox1.AddItem ListBox1.List(k, 0) = x.Cells(C.Row, 1).Value ListBox1.List(k, 1) = x.Cells(C.Row, 2).Value ListBox1.List(k, 2) = x.Cells(C.Row, 3).Value ListBox1.List(k, 3) = x.Cells(C.Row, 4).Value ListBox1.List(k, 4) = x.Cells(C.Row, 5).Value ListBox1.List(k, 5) = x.Cells(C.Row, 6).Value ListBox1.List(k, 6) = x.Cells(C.Row, 7).Value ListBox1.List(k, 7) = x.Cells(C.Row, 8).Value ListBox1.List(k, 8) = x.Cells(C.Row, 9).Value ListBox1.List(k, 9) = x.Cells(C.Row, 10).Value ListBox1.List(k, 10) = x.Cells(C.Row, 11).Value ListBox1.List(k, 11) = x.Cells(C.Row, 12).Value ListBox1.List(k, 12) = x.Cells(C.Row, 13).Value ListBox1.List(k, 13) = x.Cells(C.Row, 14).Value ListBox1.List(k, 14) = x.Cells(C.Row, 15).Value ListBox1.List(k, 15) = x.Cells(C.Row, 16).Value ListBox1.List(k, 16) = x.Cells(C.Row, 17).Value ListBox1.List(k, 17) = x.Cells(C.Row, 18).Value k = k + 1 End If Next C end if Next x بالتوفيق
  24. بعد استعمال البحث في المنتدى ستجد الكثير إن شاء الله تفيدك هذه المواضيع https://www.officena.net/ib/search/?q=progress bar&updated_after=any&sortby=relevancy&search_and_or=and بالتوفيق
  25. هل الموجود في المدة المحددة تاريخ واحد ام اكثر من تاريخ؟؟
×
×
  • اضف...

Important Information