プロが教えるわが家の防犯対策術!

現在、下記ソースで動かしているのですが、
下記要望を足すには、どう式を変えればよいでしょうか。

「Cells(2, 5)がAmazon店の場合だけ、"T6セル~AK9"のセルを印刷。
それ以外は、空白にしたいです」

教えてください。

---------------------------------------------------------------------------------------------------------
Private Sub InsatuHani(tSheets As Worksheet)


If tSheets.Cells(7, 39).Value = "クレジットカード" And CDec(tSheets.Cells(6, 39).Value) > 0 Then
tSheets.PageSetup.PrintArea = "A1:AK56"
Exit Sub
End If



If tSheets.Cells(2, 5).Value = "Amazon店" Then 'Amazonは無条件に不要
tSheets.PageSetup.PrintArea = "A1:AK31"
Exit Sub
End If

Select Case CDec(tSheets.Cells(6, 39).Value) '請求金額をみる
Case 0 '請求金額が0円の場合、領収書を発行しない
tSheets.PageSetup.PrintArea = "A1:AK31"
Case Is >= 50000 '請求金額が50000円以上の場合、領収書を発行しない(手書きでだす)
tSheets.PageSetup.PrintArea = "A1:AK31"
Case Else '他
Select Case tSheets.Cells(7, 39).Value
Case "コンビニ決済", "セブンイレブン決済(前払)", "ローソン決済(前払)", "後払い.com", "楽天ペイ後払い" 'コンビニ決済等は発行しない
tSheets.PageSetup.PrintArea = "A1:AK31"
Case Else 'それ以外は発行する
tSheets.PageSetup.PrintArea = "A1:AK56"
End Select
End Select
End Sub

質問者からの補足コメント

  • わかりづらい質問で申し訳ございません。

    画像にあります セルE2のお買い上げ店が「アマゾン店」の場合のみ
    赤枠のT6セル部分を印刷して、それ以外の店舗では、
    赤枠部分は印刷しないようにしたいです。

    可能でしょうか。

    「VBAについて教えてください」の補足画像1
      補足日時:2019/11/20 09:39

A 回答 (4件)

If tSheets.Cells(2, 5).Value = "Amazon店" Then 'Amazonは無条件に不要


' 印刷前に『それ以外は、空白にしたいです』って、範囲のわからない部分を空白にすれば宜しいのでは?
'多分、
'Range("A1:AK5").Value = ""
'Range("A1:S9").Value = ""
'Range("A10:AK31").Value = ""
'なのかな?
tSheets.PageSetup.PrintArea = "A1:AK31"
    • good
    • 0

パット見。

たぶん、

Private Sub InsatuHani(tSheets As Worksheet)

tSheets.PageSetup.PrintArea = ""  ’追加 シートのプリントエリアをクリアー(解除)する

If tSheets.Cells(7, 39).Value = "クレジットカード" And CDec(tSheets.Cells(6, 39).Value) > 0 Then
tSheets.PageSetup.PrintArea = "A1:AK56"
Exit Sub
End If

If tSheets.Cells(2, 5).Value = "Amazon店" Then 'Amazonは無条件に不要
tSheets.PageSetup.PrintArea = "T6:AK9"
Exit Sub
End If



End Sub

未検証です。
    • good
    • 0

補足へ


そういう事なら、印刷から離れてセルの値で対応するのが良いでしょう。

Private Sub InsatuHani(tSheets As Worksheet)
tSheets.range("t6") = ""  ’追加 テキストをクリアー(解除)する


If tSheets.Cells(2, 5).Value = "Amazon店" Then 'Amazonは無条件に不要
tSheets.range("t6") = " 'キャッシュレス還元・・・・・・・" ’セルの値を設定この場合、他の条件で変えることも出来ますね。



Exit Sub
    • good
    • 0

tSheets.Cells(6,20).Value = ""


tSheets.Cells(6,20).Value = "キャッシュレス還元・・・・・・・"

こちらの書き方かな?
    • good
    • 0
この回答へのお礼

ありがとうございました!
思い通りに動きました。助かりました!

お礼日時:2019/11/20 16:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!