اذهب الي المحتوي
أوفيسنا

احمد بدره

الخبراء
  • Posts

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

  • Days Won

    6

مشاركات المكتوبه بواسطه احمد بدره

  1. جرب هذا التعديل ربما يكون ما تريده

     Sub Macro01()

     

    a = MsgBox("هل  تريد طباعة الان  ؟", vbYesNo + vbQuestion, "طباعة")

    ' اذ اخترت لا اريد الطباعة الصحيح الكود يقف ويلغي التنفيذ هنا
    If a = vbYes Then
    With ActiveSheet
    Dim Numcop As Integer
             Numcop = Application.InputBox("أدخل عدد النسخ للطباعة:", "كم عدد النسخ?", 1, Type:=1)
            If Numcop = 0 Then
            Exit Sub
            ElseIf Len(Numcop) > 0 Then
            End If
            a = MsgBox("هل  تريد طباعة الان  ؟", vbYesNo + vbQuestion, "طباعة")
    If a = vbNo Then
     Exit Sub

     Else
         ActiveWindow.SelectedSheets.PrintOut copies:=Numcop
     'اذ اخترت لا اريد الطباعة  عدد الصحيح الكود يقف ويلغي التنفيذ كذالك  هنا
     End If
    End With
    End If
        
      Dim X3 As Long, X4 As Long
    X3 = Sheets("DATA").Range("a1000").End(xlUp).Row + 1
    X4 = Sheets("aaa").Range("B24").End(xlUp).Row
       Sheets("DATA").Range("B" & X3).Resize(X4 - 5, 21) = Sheets("aaa").Range("B6").Resize(X4 - 5, 21).Value
     
    End Sub

     

  2. الملف يعمل بشكل ممتاز

    ممكن أن تقوم بحفظ الملف بنوع مصنف به وحدات ماكرو ممكنة ربما يكون هذا هو الحل الأول

    إذا لم يحدث اذهب إلى لوحة التحكم واختر إضافة وإزالة برامج يظهر لك صندوق حوارى به أسماء البرامج المثبتة

    اختر ميكروسوفت اوفيس واختر تغيير  يظهر صندوق حواري اختر منه إصلاح واختر إعادة تثبيت فيتم استعادة الأوفيس إلى ما كان مثبت عليه

    • Like 1
  3. قم بتجربة هذا التعديل على كود حضرتك وأتمنى من الله أن يكون هذا هو المطلوب


    Sub Macro01()

     

    a = MsgBox("هل  تريد طباعة الان  ؟", vbYesNo + vbQuestion, "طباعة")

    ' اذ اخترت لا اريد الطباعة الصحيح الكود يقف ويلغي التنفيذ هنا
    If a = vbYes Then
    With ActiveSheet
    Dim Numcop As Integer
             Numcop = Application.InputBox("أدخل عدد النسخ للطباعة:", "كم عدد النسخ?", 1, Type:=1)
            If Numcop = 0 Then
            Exit Sub
            ElseIf Len(Numcop) > 0 Then
            End If
         ActiveWindow.SelectedSheets.PrintOut copies:=Numcop
     'اذ اخترت لا اريد الطباعة  عدد الصحيح الكود يقف ويلغي التنفيذ كذالك  هنا
     
    End With
    End If
        
      Dim X3 As Long, X4 As Long
    X3 = Sheets("DATA").Range("a1000").End(xlUp).Row + 1
    X4 = Sheets("aaa").Range("B24").End(xlUp).Row
       Sheets("DATA").Range("B" & X3).Resize(X4 - 5, 21) = Sheets("aaa").Range("B6").Resize(X4 - 5, 21).Value
     
    End Sub

     

  4. جرب هذا الكود لعله يفي بالغرض  في حالة الوافقة يظهر صندوق حواري لكتابة رقم أول صفحة في الطباعة  اكتب رقم البداية ثم اضغط ok

    يظهر صندوق حواري لكتابة رقم آخر صفحة في الطباعة اكتب رقم النهاية ثم اضغط ok

    Sub طباعةمدىمن_الصفحات()


    A = MsgBox("هل  تريد طباعة الان  ؟", vbYesNo + vbQuestion, "طباعة")

    ' اذ اخترت لا اريد الطباعة الصحيح الكود يقف ويلغي التنفيذ هنا
    If A = vbYes Then
    Dim startpage As Integer
    Dim endpage As Integer
    startpage = InputBox("من فضلك أدخل رقم أول صفحة المراد طباعتها.", " رقم أول صفحة في الطباعة")
    If Not WorksheetFunction.IsNumber(startpage) Then
    MsgBox "Invalid Start Page number. Please try again.", "Error"
    Exit Sub
    End If
    endpage = InputBox("من فضلك أدخل رقم آخر صفحة المراد طباعتها.", "رقم آخر صفحة في الطباعة ")
    If Not WorksheetFunction.IsNumber(endpage) Then
    MsgBox "Invalid End Page number. Please try again.", "Error"
    Exit Sub
    End If
    ActiveWindow.SelectedSheets.PrintOut From:=startpage, To:=endpage, Copies:=1, Collate _
    :=True
    End If
        
      Dim X3 As Long, X4 As Long
    X3 = Sheets("DATA").Range("a1000").End(xlUp).Row + 1
    X4 = Sheets("aaa").Range("B24").End(xlUp).Row
       Sheets("DATA").Range("B" & X3).Resize(X4 - 5, 21) = Sheets("aaa").Range("B6").Resize(X4 - 5, 21).Value
     
    End Sub

     

    • Like 1
  5. يجب عند نسخ الكود أن تختار اللغة العربية أولا في شريط المهام  ثم قم بالنسخ واللصق

    تفضل الكود  مع ملاحظة أن المعاينة والطباعة لموظف واحد فقط

     Sub PrintAll()

        Dim LastR As Integer

       Sheets("بيانات اساسية").Select

       LastR = Sheets("بيانات اساسية").Cells(Rows.Count, "B").End(xlUp).Row

        Range("B6:B" & LastR).Select

        x = Application.WorksheetFunction.CountA(Selection)


      Sheets("مفردات").Select

        Range("A6").Select

        Selection.ClearContents


        For I = 1 To x

        Range("A6") = I

        ActiveWindow.SelectedSheets.PrintPreview

        Next I

        End Sub

     

  6. أفضل الطرق في اعتقادي الذي قدمتها لك  لأنها

    تتيح لك وضع الدوائر في أي أعمدة  في المدى كل ما عليك وضع درجة النهاية الصغرى للعمود المطلوب

    إضافة إلى ذلك أنها تعمل في أي ورقة عمل نشطة

    ومرتبطة بأن تكون خلية العمود c غير فارغة

    وصراحة كل أعضاء المنتدى لا يبخلون على أحد بأي معلومة

     

    • Thanks 1
  7. من فضلك اتبع الخطوات التي في الصورة  الشكل رقم 1 في الملف القديم  وباقي الأشكال تتبع في الملف الجديد

    مع خالص تحياتي

    خطوات نسخ عنصر تحكم.JPG

    • Thanks 1
  8. تم تعديل الكود ليتناسب مع كل الأعمدة ابتداءًا من العمودM إلى العمودCV كل ما عليك هو وضع رقم الدرجة للنهاية الصغرى في الصف رقم 9 للأعمدة المطلوب وضع دوائر لها

    الشرط الثاني لوضع الدوائر هو أن يكون نطاق خلايا العمود c في الصفوف غير فارغ

    -1استبدال التظليل بدوائر حمراء.xlsm

    • Thanks 1
  9. تفضل الملف وبعد إذن الأستاذ علي لإثراء الموضوع تم عمل كود إضافة الدوائر وكود حذف الدوائر بزر أمر واحد

    فعندما تضغط على زر حذف الدوائر يتم حذفها ويظهر الزر باسم إضافة الدوائر والعكس صحيح

    ولإثراء الموضوع أيضًا تم تعديل آخر في الكود وهو جعل الماكرو يعمل بأي صفحة عمل تكون نشطة

    -1استبدال التظليل بدوائر حمراء.xlsm

    • Thanks 1
×
×
  • اضف...

Important Information