シート画面
■実行前の宛先
レイアウトし易いように枠線が表示されています。
■実行後の画面
枠線が全て消えています。
下記のVBAコードを追加してください。
'シェイプの開始処理と終了処理
Private Sub ExPrintReady(sw As Boolean)
Dim t As Object
Dim s As String
Dim i As Integer
For Each t In Sheets("宛先面").Rectangles
'シェイプの名前
s = t.Name
'不必要なシェイプを消す/戻す
If Left(s, 3) = "ガイド" Then
'表示
t.Visible = Not sw
Else
'枠線を消す/戻す
t.ShapeRange.Line.Visible = Not sw
End If
Next
If sw = False Then
Sheets("宛先面").Shapes("宛先住所").TextFrame.Characters.Text = "宛先住所"
Sheets("宛先面").Shapes("宛先名前").TextFrame.Characters.Text = "名前"
For i = 1 To 7
Sheets("宛先面").Shapes("〒" & i).TextFrame.Characters.Text = i
Next
End If
End Sub
'印刷開始
Private Sub MyPrintStart()
Dim ln1 As Long
Dim ln2 As Long
Dim rowmax As Long
'名前の最下行の取得
ln1 = Sheets("住所録").Range("A65536").End(xlUp).Row
'住所1の最下行の取得
ln2 = Sheets("住所録").Range("D65536").End(xlUp).Row
If ln2 > ln1 Then
rowmax = ln2
Else
rowmax = ln1
End If
If rowmax = 11 Then
MsgBox "宛先の名前、住所が入力されていません。処理を中止します。"
Exit Sub
End If
ExPrintReady True
MsgBox "ここに印刷するプログラムを入力します。"
ExPrintReady False
End Sub