-
Posts
4,444 -
تاريخ الانضمام
-
Days Won
192
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أ / محمد صالح
-
المطلوب عدم تكرار اسم الصنف بشرط التاريخ
أ / محمد صالح replied to نسورالجو's topic in منتدى الاكسيل Excel
يمكنك استعمال هذا الكود في حدث الضغط على زر إدخال Private Sub CommandButton1_Click() Sheets(1).Activate lrow = Range("e" & Rows.Count).End(xlUp).Row + 1 If WorksheetFunction.CountIfs(Range("D2:D" & lrow), ComboBox1.Value, Range("E2:E" & lrow), ComboBox2.Value) = 0 Then Range("d" & lrow).Value = ComboBox1.Value Range("E" & lrow).Value = ComboBox2.Value ComboBox1.Value = "" ComboBox2.Value = "" Else MsgBox "إدخال مكرر" End If End Sub بالتوفيق -
كيف أرتب الشيت حسب النوع ثم الاسم البنون اولا
أ / محمد صالح replied to أبو يوسف النجار's topic in منتدى الاكسيل Excel
عليكم السلام إذا قمت بتسجيل ماكرو ستحصل على الكود وبقليل من التعديلات تجعل الكود متغيرا في صف الننهاية الذي رمزه LR هذا هو الكود Sub girlsfirst() Dim sh As Worksheet, lr As Long Set sh = ActiveWorkbook.Worksheets("sheet") lr = sh.Cells(Rows.Count, 3).End(3).Row With sh.Sort .SortFields.Clear .SortFields.Add2 Key:=Range("L10"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add2 Key:=Range("C10"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("B7:X" & lr) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Sub boysfirst() Dim sh As Worksheet, lr As Long Set sh = ActiveWorkbook.Worksheets("sheet") lr = sh.Cells(Rows.Count, 3).End(3).Row With sh.Sort .SortFields.Clear .SortFields.Add2 Key:=Range("L10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SortFields.Add2 Key:=Range("C10"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("B7:X" & lr) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub بالتوفيق -
جميعا بإذن الله
-
إحدى الفوائد اختصار المعادلات وسهولة تسمية النطاق باسم يعبر عن مضمونها مثلا قائمة الأصناف موجودة في sheet1!a5:a40 فيمكن تسمية هذا النطاق products وبدلا من كتابتة هذا النطاق في المعادلة نكتب كلمة products بالتوفيق
-
-
ربما تكون نطاقات مسماة named ranges الموجودة في تبويب الصيغ formulas ضمن إدارة الأسماء name manager لو أرفقت الملف الذي به هذه المعادلة ربما نصل لليقين بالتوفيق
-
جميعا بإذن الله
-
آمين ولك بمثل ما دعوت وزيادة
-
أخي الكريم يفضل ذكر كل التفاصيل المتاحة لديك حتي يتم الوصول للحل المطلوب بمنتهى السهولة وعلى مرة واحدة لكن تجزئة المعطيات تؤدي إلى حلول غير مطلوبة حسب فهمي للمطلوب أنك تريد * وضع تسلسل يبدأ من الصف الثاني * إلى آخر صف مكتوب فيه في العمود b وليس إلى 10 * والكود يتم تطبيقه من الأكسس على كائن الشيت النشط يمكنك استعمال هذا الكود Dim I As Integer For I = 2 To .range("b" & .rows.count).end(3).row .Range("A" & I).Value = I-1 Next I بالتوفيق
-
يمكنك استعمال هذا التعديل Dim I As Integer For I = 2 To 11 Range("A" & I).Value = I-1 Next I بالتوفيق
-
نقل القيمة الموجودة فى خلية بمجرد تحديدها فى نطاق معين
أ / محمد صالح replied to seao's topic in منتدى الاكسيل Excel
يمكنك استعمال هذا الكود في حدث عند تغيير التحديد Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 5 Or Target.Column = 7 Then Range("ad2").Value = Target.Value End If End Sub وهذا ملفك بعد إضافة الكود وتغيير الامتداد بالتوفيق Select.xlsb -
عليكم السلام ورحمة الله وبركاته * بالنسبة للمطلوب الأول لا يمكن استخدام كالندر داخل الخلايا ممكن في يوزرفورم ولكن يمكنك جعل تنسيق خلية التاريخ dddd dd mmmm yyyy سيظهر اسم اليوم واسم الشهر مع التاريخ ويمكنك الاستغناء عن عمود اليوم * وبالنسبة لكتابة جميع تواريخ الشهر يمكنك في الخلية B5 كتابة المعادلة التالية =B4+1 مع نسخ المعادلة لأسفل * وبالنسبة لموضوع منع التكرار يمكن استعمال التنسيق الشرطي وتلوين الصفين المكررين وهذا ملفك بعد تنفيذ مقترحاتي بالتوفيق برنامج حجز قاعات 2021.xlsx
-
الشكر لله الذي هدانا لهذا
-
للأسف أخي الكريم طريقتك تقارن بين قيمة الخلية والخلية b4 فقط ولا تقارن بين الخلية في العمود A وخلية العمود b التي تجاورها
-
بالنسبة لكود معاينة الطباعة ActiveSheet.PrintPreview وبالنسبة لكود طباعة الشهادات دفعة واحدة فهذا يتوقف على طريقة جلبك للبيانات من شيت البيانات الأساسية وبعد فحص ملفك لم أجد أي طريقة محددة لجلب بيانات الشهادات لذا ربما تفيدك هذه الموضوعات في معرفة طرق جلب البيانات حسب المسلسل أو رقم الجلوس أو الاسم https://www.officena.net/ib/search/?q=طباعة الشهادات&quick=1&type=forums_topic&nodes=135&search_and_or=and بالتوفيق
-
يمكنك استعمال هذه المعادلة في الخلية D6 مع نسخ المعادلة يمينا لنهاية الشهر =IFERROR(IF(OR(COUNT($C5:C5)<1,D5-MAX($C5:C5)<0),"",D5-MAX($C5:C5)),"") ويمكن نسخ الخلية D6 إلى D8 لنسخ المعادلة وهذا ملفك بعد التعديل بالتوفيق كشف الفواتير للمركبات - بوقصي 9-2021 تجارب.xlsm
-
هذا المطلوب لا يتم بالمعادلات لابد من تدخل جراحي (vba) يمكنك استعمال هذا الكود في حدث عند التغيير Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 3 And Target.Column >= 1 And Target.Column <= 3 And Evaluate("=counta(a3:d3)") = 4 Then lr1 = Cells(Rows.Count, 1).End(3).Row + 1 lr1 = IIf(lr1 < 4, 4, lr1) lr2 = Cells(Rows.Count, 12).End(3).Row + 1 Range("a" & lr1 & ":d" & lr1).Value = Range("a3:d3").Value Range("l" & lr2 & ":o" & lr2).Value = Range("a3:d3").Value Range("a3:c3").ClearContents End If End Sub وهذا ملفك بعد إضافة الكود وتغيير الامتداد 555.xlsb
-
جميعا بإذن الله
-
عليكم السلام و رحمة الله وبركاته الجزء الثاني من المطلوب غير منطقي حيث سيظل الكود في حلقة من الأحداث لا تنتهي فمثلا تم تغيير الدور الاول إلى الثالث فيفترض من الكود أن يبحث عن موظف الدور الثالث ويضعه في الدور الأول وحينها يتم استدعاء كود حدث التغيير لأن خلية الدور الثالث تغيرت في العمود E وساعتها يبدأ في البحث وهكدا والحل في هذه المشكلة كتابة التغيير المطلوب في العمود G مثلا بالكود ويتم كتابته مرة أخرى يدويا في العمود E مع تعديل حدث التغيير إلى هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("e8:e100")) Is Nothing Then Exit Sub lr = Range("h" & Rows.Count).End(xlUp).Row + 1 Cells(lr, "h") = Target.Offset(0, -2) Cells(lr, "i") = [k1] Cells(lr, "j") = Target.Value lr1 = Range("e" & Rows.Count).End(xlUp).Row If Target.Offset(0, 2) = "" Then For n = 8 To lr1 If n <> Target.Row And Cells(n, 5) = Target.Value And Cells(n, 4) = Target.Offset(0, -1) And Cells(n, 6) <> "راحة" Then Cells(n, 7) = [k1] Next n Else Target.Offset(0, 2) = "" End If End Sub بالتوفيق
-
يمكنك استعمال هذه المعادلة في التنسيق الشرطي =AND(A4<>"",A4<B4) وتقوم باختيار التعبئة أو اللون المرغوب ويتم تطبيقها على. العمود A مثلا أو أي خلايا منه وإذا أردت تمييز الخلايا التي تساوي المتوقع أو أكبر يمكن استعمال هذه المعادلة =AND(A4<>"",A4>=B4) بالتوفيق
-
لإضافة دالة معرفة udf نفتح نافذة محرر vba بالضغط alt+f11 من قائمة insert نختار module نلصق هذا الكود واستخدامها في اكسل مثل استخدام ifs ولكن نكتب masifs بالتوفيق
-
کیف استیراد ملف ذو صيغة (SQL.) فی اکسل
أ / محمد صالح replied to ام ناصر's topic in منتدى الاكسيل Excel
الأسهل تصدير الملف بصيغة xlsx أو csv من خادم قاعدة البيانات ويمكن استعمال هذه الصفحة لتحويل الملف إلى اكسل https://www.convertcsv.com/sql-to-csv.htm بالتوفيق- 1 reply
-
- 2
-
يمكنك استعمال هذه الدالة المعرفة Public Function MasIfs(ParamArray args() As Variant) As Variant Dim i As Integer Do Until CBool(args(i)) Or (i >= UBound(args)) i = i + 2 Loop If i < UBound(args) Then MasIfs = args(i + 1) End Function بالتوفيق
-
الأفضل من وجهة النظر البرمجية أن تبقى هذه صفحة بيانات وتنشئ صفحة جديدة يتم عرض نتائج أول 26 صفا ثم ثاني 26 صفا بكتابة رقم الصفحة في خلية ومعادلات البحث تجلب لك النتائج مثل هذا الموضوع بالتوفيق