2017-03-10 10 views
0

私はそれに応じてvba内のExcelマクロに印刷オプションを追加する方法はありますか?

Private Sub CommandButton10_Click() 

MsgBox "SET YOUR PRINTER & CLICK OK" 
    Range("B18:B58").Select 
    Selection.Copy 
    ActiveWindow.SmallScroll Down:=-33 
    Range("bf18").Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=False 
    Application.CutCopyMode = False 
    Range("A1").Select 
    ActiveSheet.PageSetup.PrintArea = "$L$775:$AN$818" 
    'ActiveWindow.SelectedSheets.printout Copies:=1, Collate:=True 
    'ActiveSheet.PageSetup.PrintArea = "$ay$520:$be$523" 
    'Range("A1").Select 
'ActiveWindow.SelectedSheets.printout Copies:=1, Collate:=True 

ActiveWindow.SelectedSheets.PrintPreview 
End Sub 

次のコードと印刷を持つExcelのマクロボタンを有しています。 このボタンをクリックすると、デフォルトのプリンタに直接印刷されますが、ボタンをクリックしたようにプリンタをキャンセルするオプションを作成したい場合もあります。上記のコードを使用して表示します。

thnk u

答えて

1

MsgBoxは何が押されたかを返すことができるので、ifステートメントで使用できます。

So;

Private Sub CommandButton10_Click() 'Give this a name! 
    If MsgBox("SET YOUR PRINTER & CLICK OK", vbOKCancel) = vbOK Then 
     Range("B18:B58").Select 
     Selection.Copy 
     ActiveWindow.SmallScroll Down:=-33 
     Range("bf18").Select 
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
      :=False, Transpose:=False 
     Application.CutCopyMode = False 
     Range("A1").Select 
     ActiveSheet.PageSetup.PrintArea = "$L$775:$AN$818" 
     'ActiveWindow.SelectedSheets.printout Copies:=1, Collate:=True 
     'ActiveSheet.PageSetup.PrintArea = "$ay$520:$be$523" 
     'Range("A1").Select 
     'ActiveWindow.SelectedSheets.printout Copies:=1, Collate:=True 

     ActiveWindow.SelectedSheets.PrintPreview 
    End If 
End Sub 
関連する問題