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

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

قام بنشر

أريد كود طباعة ورقة في 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

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information