پرینت از چک باکس مورد نظر

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali719

    • 2013/12/05
    • 207

    پرینت از چک باکس مورد نظر

    سلام
    در فایل پیوست من میخوام با انتخاب چک باکس و زدن روی دکمه پرینت از شیت مورد نظر آن شیت پرینت گرفته شود (مثلا چک باکس 1و4 را انتخاب و با زدن روی دکمه شیت های مورد نظر آن شیت پرینت گرفته شود) و با زدن روی دکمه پرینت از کل شیتها تمام شیتها پرینت گرفته شود.برای این منظور برای دکمه ها چه فرمولی بنویسم.
    با تشکر
    فایل های پیوست شده
  • generalsamad
    مدير تالار توابع

    • 2014/06/22
    • 1496

    #2
    با سلام
    از این کد استفاده کنید
    ببینید خواستتون همین بوده
    کد PHP:
    Option Explicit
    Private Sub CommandButton1_Click()
        
    Dim i As Integer
        Dim TopPos 
    As Integer
        Dim SheetCount 
    As Integer
        Dim PrintDlg 
    As DialogSheet
        Dim CurrentSheet 
    As Worksheet
        Dim cb 
    As CheckBox
        Application
    .ScreenUpdating False
        
        
    If ActiveWorkbook.ProtectStructure Then
            MsgBox 
    "Workbook is protected."vbCritical
            
    Exit Sub
        End 
    If

        
    Set CurrentSheet ActiveSheet
        Set PrintDlg 
    ActiveWorkbook.DialogSheets.Add

        SheetCount 
    0

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

            If 
    Application.CountA(CurrentSheet.Cells) <> And _
                CurrentSheet
    .Visible Then
                SheetCount 
    SheetCount 1
                PrintDlg
    .CheckBoxes.Add 78TopPos15016.5
                    PrintDlg
    .CheckBoxes(SheetCount).Text _
                        CurrentSheet
    .Name
                TopPos 
    TopPos 13
            End 
    If
        
    Next i

        PrintDlg
    .Buttons.Left 240

        With PrintDlg
    .DialogFrame
            
    .Height Application.Max _
                
    (68PrintDlg.DialogFrame.Top TopPos 34)
            .
    Width 230
            
    .Caption "Select sheets to print"

        
    End With

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

        CurrentSheet
    .Activate
        Application
    .ScreenUpdating True
        
    If SheetCount <> 0 Then
            
    If PrintDlg.Show Then
                
    For Each cb In PrintDlg.CheckBoxes
                    
    If cb.Value xlOn Then
                        Worksheets
    (cb.Caption).Activate
                        ActiveSheet
    .PrintOut

                    End 
    If
                
    Next cb
            End 
    If
        Else
            
    MsgBox "All worksheets are empty."
        
    End If

        
    Application.DisplayAlerts False
        PrintDlg
    .Delete

        CurrentSheet
    .Activate
    End Sub 
    Last edited by generalsamad; 2015/05/17, 23:25.
    [CENTER]
    [SIGPIC][/SIGPIC]
    [/CENTER]

    کامنت

    • mohammadkhorshi
      • 2014/08/03
      • 2
      • 24.00

      #3
      دوست عزیز سلام

      الان به صورتی هست که وقتی دکمه را میزنیم اگر ما 1000 تا شیت داشته باشیم یکم زشت میشه و اگه بخوایم همه رو پرینت بگیریم باید دونه دونه تیک بزنیم

      امکانش هست وقتی دکمه رو میزنیم بالا اول از همه یک تیک all وجود داشته باشد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

      ممنون

      کامنت

      چند لحظه..