度々ご教授お願い致します。
今までの質問に対して回答は得られたのですが
下記が質問内容
>>1)シート1のA1セルを右クリックするとシート2を印刷。
>>2)シート1のB1セルを右クリックするとシート3を印刷。
>>3)それぞれのシート印刷時に2部印刷が行われるようにする。
下記が回答済みのマクロ
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:B1")) Is Nothing Then Exit Sub
If Target.Address = "$A$1" Then
Sheets("Sheet2").PrintOut Copies:=2
ElseIf Target.Address = "$B$1" Then
Sheets("Sheet3").PrintOut Copies:=2
End If
Cancel = True
End Sub
シート2とシート3を非表示にした場合、
今まで出来た(印刷)作業が出来なくなったのですが、
こちらを解消するためにはどのような記述を増やせばよろしいのでしょうか。
よろしくお願い致します。
こんばんは!
Sheetが非表示になっているのであれば、印刷前にSheetを表示させ、
印刷命令の後もう一度、Sheetの非表示という操作を加えてみてはどうでしょうか?
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:B1")) Is Nothing Then Exit Sub
If Target.Address = "$A$1" Then
Sheets("Sheet2").Visible = True
Sheets("Sheet2").PrintOut Copies:=2
Sheets("Sheet2").Visible = False
ElseIf Target.Address = "$B$1" Then
Sheets("Sheet3").Visible = True
Sheets("Sheet3").PrintOut Copies:=2
Sheets("Sheet3").Visible = False
End If
Cancel = True
End Sub
※ 余計なお世話かもしれませんが・・・(あくまで私的見解です)
右クリックの操作はショートカットメニューを表示させる場合によく使う操作ですので、
右クリックよりもダブルクリックでマクロを実行させる方が良いような気がします。
その場合は1行目を
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
に変更するだけでA1・B1セルをダブルクリックするとご希望の動きになると思います。m(_ _)m
お礼
出来ました!有難うございました! ダブルクリックもいい感じです! 本当に素晴らしいアドバイス有難うございました。