أفضل إجابة أ / محمد صالح قام بنشر نوفمبر 16, 2023 أفضل إجابة قام بنشر نوفمبر 16, 2023 يمكنك استعمال هذه الدالة المعرفة Function daysnames(d As String, m As Integer, y As Long) As String Dim x As Long, s As String, days: s = "": days = Split(d, "-") For x = 0 To UBound(days) s = s & IIf(x > 0, " و", "") & Format(DateSerial(y, m, days(x)), "dddd") Next x daysnames = s End Function وطريقة استخدامها =daysnames(D2,F2,G2) وبعد استعمالها تعامل مثل الدوال الموجودة في الاكسل من حيث تحديث بيانات الخلية مباشرة بدون الضغط على زر للتحديث بالتوفيق 5
محمد هشام. قام بنشر نوفمبر 16, 2023 قام بنشر نوفمبر 16, 2023 وعليكم السلام ورحمة الله تعالى وبركاته بعد ادن الاستاد أ / محمد صالح وبما انه جاء في طلبك انك ترغب باستخدام الاكواد لابأس في اثراء الموضوع بالكود التالي Sub Extract_days() Dim WSData As Worksheet Dim rng As Range, strDays As String Dim Col As Variant, arDays As Variant Dim iDays As Long, lr As Long, i As Long Set WSData = Worksheets("ورقة2") Application.ScreenUpdating = False WSData.Range("E2", Range("E" & Rows.Count).End(3)).ClearContents With WSData lr = .Range("D" & Rows.Count).End(xlUp).Row Set rng = .Range("B2:G" & lr) Col = rng.Value End With On Error Resume Next For i = 1 To UBound(Col) strDays = "" arDays = Split(Col(i, 3), "-") For iDays = 0 To UBound(arDays) strDays = strDays & "-" & Format(DateSerial(Col(i, 6), Col(i, 5), arDays(iDays)), "dddd") Next iDays Col(i, 4) = Right(strDays, Len(strDays) - 1) Next i On Error GoTo 0 With rng.Columns(4) .Value = Application.Index(Col, 0, 4) '.Columns.AutoFit End With Application.ScreenUpdating = True End Sub الغياب2.xlsm 3
أ / محمد صالح قام بنشر نوفمبر 16, 2023 قام بنشر نوفمبر 16, 2023 باؤك الله فيك أخي الكريم @محمد هشام. نوظيف جميل لأكواد الدالة وتحويلها إلى إجراء أنا شخصيا أكاد لا أستعمل الأكواد في برامجي حتى يمكن استعمالها على الهاتف وتكون متاحة لكل من يستخدم الاكسل وفقنا الله جميعا لكل ما يحبه ويرضاه 1
khairi ali قام بنشر نوفمبر 17, 2023 الكاتب قام بنشر نوفمبر 17, 2023 بارك الله فيكما وان شاء الله في ميزان حسناتكم 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.