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

الردود الموصى بها

قام بنشر

أريد كود طباعة ورقة في sheet 1 و ايضا طباعة ورقة أخرى في sheet 2  أحدد انا  فيها عدد النسخ و ايضا الطابعة بداخل الكود نفسه و ايضا لذي سؤال هل استطيع طباعة ورقتين مختلفتين بكود واحد فقط ؟ 

قام بنشر

بارك الله فيك اخي ياسر دائما مبدع هذا ما طلبته .... اريد فقط تعديل على الكود بحيت احدد انا الاوراق التي اختار منها فعلى سبيل المتال اريد ان تظهر لي " اختار مابين sheet1  و sheet 3 و اريد ايضا كيف احدد انا اسم الصفحة تلقائيا ضمن الكود دون تظهر لي قائمة اختيار sheet

قام بنشر

أخي الكريم أشرف النعاس

أعتقد أن الكود مرن ويمكنك من اختيار أوراق العمل المطلوب طباعتها بسهولة .. لا أفهم الفكرة من اختيار ما بين ورقتي عمل ..

أما بخصوص الجزء الثاني من طلبك فلم أستطع فهمه بشكل كامل

 

قام بنشر

جرب التعديل التالي وإن كنت أحبذ التعامل مع الكود الأصلي واختيار الأوراق المطلوب طباعتها

Sub PrintSelectedSheets()
    Dim I As Integer
    Dim TopPos As Integer
    Dim SheetCount As Integer
    Dim PrintDlg As DialogSheet
    Dim CurrentSheet As Worksheet
    Dim Cb As CheckBox
    Dim Numcop As Long
    Dim Cnt As Integer
    Dim X As String

    Application.Dialogs(xlDialogPrinterSetup).Show

    Application.ScreenUpdating = False
    If ActiveWorkbook.ProtectStructure Then
        MsgBox "المصنف محمي", vbCritical
        Exit Sub
    End If

    Set CurrentSheet = ActiveSheet
    X = CurrentSheet.Name
    Set PrintDlg = ActiveWorkbook.DialogSheets.Add
    SheetCount = 0

    TopPos = 40
    For I = 1 To ActiveWorkbook.Worksheets.Count
        Set CurrentSheet = ActiveWorkbook.Worksheets(I)

        If Application.CountA(CurrentSheet.Cells) <> 0 And CurrentSheet.Visible Then
            SheetCount = SheetCount + 1
            PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5
            PrintDlg.CheckBoxes(SheetCount).Text = CurrentSheet.Name
            TopPos = TopPos + 13
        End If
    Next I

    PrintDlg.Buttons.Left = 240

    With PrintDlg.DialogFrame
        .Height = Application.Max(68, PrintDlg.DialogFrame.Top + TopPos - 34)
        .Width = 230
        .Caption = "اختر أوراق العمل المراد طباعتها"
    End With

    PrintDlg.Buttons("Button 2").BringToFront
    PrintDlg.Buttons("Button 3").BringToFront

    Numcop = Application.InputBox("أدخل عدد النسخ للطباعة:", "كم عدد النسخ?", 1, Type:=1)
    If Numcop = 0 Then
    ElseIf Len(Numcop) > 0 Then
    End If

    CurrentSheet.Activate
    Application.ScreenUpdating = True

    Worksheets(3).Select
    ActiveWindow.SelectedSheets.PrintOut copies:=Numcop

    Application.DisplayAlerts = False
    PrintDlg.Delete

    Sheets(X).Select
End Sub

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information