封筒宛名を印刷するVBAコードの作り方。基本操作部分編

fuutouatenaeyecatch002

こんにちは、じゅんぱ店長(@junpa33)です。

 

これから何回かに分けて、紹介しました封筒宛名印刷エクセルのVBAコード組み立て方について説明を行っていきます。

 

今回は、基本操作部分についての説明を行っていきます。

本題に入るまでに、エクセルBOOKの準備をしておきます。

新しくエクセルを起動して、そのエクセルBOOKを「封筒宛名印字.xlsm」として一度保存をしてください。

「マクロ有効ブック」で保存は必須です。これで、下準備OKです。

 

その前に、前回の記事を確認してみるにはこちら↓からになります。

無料DL!封筒宛名印刷エクセルソフト ダウンロードと取り扱い説明。

 

封筒宛名印刷についての記事はこちらです。

「封筒宛名印刷」の記事一覧を開く

 

封筒宛名を印刷するVBAコードの全体

 

封筒宛名印刷について、考えられる主だった設定が必要な条件は

  • 封筒のサイズ
  • 縦書きか横書きか
  • 発送便の種別
  • 宛先の印刷
  • 宛先の連続印刷
  • 差出人の印刷
  • 書体の設定
  • 宛先の入力
  • 差出人の入力
  • 既存住所録の利用
  • プリンターとの封筒サイズセッティング
  • 各封筒別の宛先項目、差出項目の印刷位置セッティング

などが考えられます。

余りにも変数になるような項目が多いので、作る前から萎えてしまいそうになります。

 

そこでまず、場面分けをします。

  1. 封筒サイズなど、印刷にかかわる前提条件・基本操作部分
  2. 宛先の登録・リスト追加にかかわる条件・新規登録
  3. 宛先の封筒への一枚印刷を行う条件・単独印刷
  4. 複数の宛先を連続して封筒に印刷する条件・連続印刷
  5. 差出人を登録し・印刷する条件・差出人項目

 

インターフェイス的にはVBAのユーザーフォームで行います。

これだけの条件設定で項目指定して行くためには、一覧表的に表示するとユーザーフォームが大型で雑多になってしまいますので、使わない部分は出来るだけ折りたたんでしまう事が重要だと思います。

また、

作成する上で特に重要なことは「封筒の種類をどれだけにするか?」ということだと思います。

2~3種類まで選べるものは他にもいろいろあるかと思います。しかしそれでは汎用的に使えるとまでは言えません。

今回、作成するエクセルソフトは、最初に封筒用紙の設定さえ行えばOKの多場面での多用途のものを考えていますので、

あえてサイズほぼ網羅の16種類のタイプでコードを組み立てたいと思います。

 

エクセルBOOK「封筒宛名印字.xlsm」の中のWorksheetsを「宛名リスト」、「差出名リスト」、「宛先」、「差出」という名前で作成しておきます。

 

このエクセルソフト完成品をフリーダウンロードするにはこちら↓の記事からです。

無料DL!封筒宛名印刷エクセルソフト ダウンロードと取り扱い説明。

 

基本操作部分のVBAコードを組み立てる

 

「封筒宛名印刷コントロール」ユーザーフォーム

「封筒宛名印刷コントロール」のフォームの中でこの部分になります。

fuutoatenakihon001

 

ユーザーフォームへのコントロールツールの配置

ユーザーフォームの設置とツールの設置方法

始めのユーザーフォームの挿入方法はこちら↓で確認できます。

ユーザーフォームを表示する

次にツールボックスを利用してコマンドツールを設置する方法はこちら↓です。

ツールボックスボタンを押してツールを使えるようにします。

 

このユーザーフォーム「封筒宛名印刷コントロール」の出現表示設定については、このエクセルソフトのどの操作場面でも必要になりますので、

すべてのシートモジュールとブックモジュールに以下のコードを記述しておきます。

各シートモジュールには

Private Sub Worksheet_Activate()
If 宛名印刷設定.Visible Then Exit Sub
宛名印刷設定.Show vbModeless
End Sub

ブックモジュールには

Private Sub Workbook_Open()
If 宛名印刷設定.Visible Then Exit Sub
宛名印刷設定.Show vbModeless
End Sub

 

ユーザーフォームを設置したらプロパティのオブジェクト名「宛名印刷設定」とCaption「宛名印刷設定」を変更します。

StartUpPositionは「0-手動」にしています。

fuutoatenakihon002

 

ラベルの配置

矢印の部分に(ツールボックスからの)ラベルで文字を挿入します。

赤矢印についてはCaptionの文字表示を変化させます。オブジェクト名についても判別しやすい名称にします。

fuutoatenakihon003a

 

fuutoatenakihon004

fuutoatenakihon005

fuutoatenakihon006

①選択された封筒の印刷タイプを表示します。

オブジェクト名 TP_no
Captionは空白

②選択された封筒のサイズを表示します。

オブジェクト名 サイズ表示A
Captionは空白

③封筒が選択された時の注意を表示します。

オブジェクト名 用紙注意書き
Captionは空白

 

オプションボタンとチェックボックスの配置

この矢印の部分になります。

fuutoatenakihon007a

 

フレームの配置

緑矢印の部分です。先にツールボックスで「フレーム」を選択し「封筒宛名印刷コントロール」ユーザーフォームに設置します

 

オプションボタンの配置

先に配置したフレーム内(緑部分)にオプションボタンを配置します。

フレーム内にあるオプションボタンは同じグループ扱いになります。

封筒名の上からの並び順にボタン番号が並ぶのがきれいですが、このソフトの作成計画中の途中変更などで実際にはうまく順番には並んでいません。ここでは、3つの例示をします。すべて同様でOKです。


fuutoatenakihon008

fuutoatenakihon009

fuutoatenakihon010

オブジェクト名 OptionButton1
Captionは洋形2号

オブジェクト名 OptionButton5
Captionは長形3号

オブジェクト名 OptionButton18
Captionは長形6号

 

チェックボックスの配置

赤矢印の部分です。

fuutoatenakihon011

fuutoatenakihon012

fuutoatenakihon013

オブジェクト名 横書き1
Caption 横書き

オブジェクト名 横書き2
Caption 横書き

オブジェクト名 横書き3
Caption 横書き

 

 

コマンドボタン、トグルボタン、テキストボックス、コンボボックスの配置

コマンドボタンは青矢印、テキストボックスは赤矢印、コンボボックスは緑矢印です。

fuutoatenakihon014

 

コマンドボタン、トグルボタンの配置

 

⑩コマンドボタン

fuutoatenakihon015

⑪コマンドボタン

fuutoatenakihon018

⑫コマンドボタン

fuutoatenakihon016

⑩コマンドボタン

オブジェクト名 便名反映
Caption 便名を印刷に反映

⑪コマンドボタン

オブジェクト名 発送便クリア
Caption 発送便名クリア

⑫コマンドボタン

オブジェクト名 宛先CL
Caption 宛先シート全クリアー

 

⑬コマンドボタン
fuutoatenakihon019
⑭トグルボタン
fuutoatenakihon017
⑬コマンドボタン

オブジェクト名 差出CL
Caption 差出シート全クリア

⑭トグルボタン

オブジェクト名 封筒登録
Caption 封筒登録OFF

 

テキストボックス、コンボボックスの配置
⑮テキストボックス

fuutoatenakihon020

 

⑯コンボボックス

fuutoatenakihon021

⑮テキストボックス
オブジェクト名 差出CL
Caption 差出シート全クリア
Font MSゴシック(太字、12)
⑯コンボボックス
オブジェクト名 ComboBox1
Font MSゴシック(太字、12)

 

フォームモジュールへの各コントロールのコード記述

 

ラベルの表示

①TP_no 、②サイズ表示A 、③用紙注意書き のCaption(ラベルの表示)については、オプションボタンの操作に連動して表示するようにします。

 

オプションボタンのコード設定

  • ラベルへの表示をコントロールします。
  • プリンターの用紙確認の注意喚起のラベル表示についてはWait関数でタイムラグを作って表示します。
  • このボタンのスイッチングで「印刷のレイアウトシート(「宛先」と「差出」)」の用紙設定を変更・指定を行います。
  • 特に「ラベル①TP_no」の値はこのソフトのすべてのモジュールに適用される重要なデータになります。

 

オプションボタン1の動作コードはこのようになります。

すべてのオプションボタンのVBAコードはこちらです。

Private Sub OptionButton1_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “洋形2号”
宛名印刷設定.TP_no.Caption = “TP1”
宛名印刷設定.用紙注意.Caption = “洋形2号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C4”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C4”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C4”).Value
End If
End Sub

 

コマンドボタン、トグルボタンのコード設定

VBAコード参考記事
ここの説明で出てくるVBAコードの参考にしていただける記事です。

vbacalleyecatch Callステートメントはプロシージャーの部品化に必須項目 エクセルVBA最速理解
コマンドボタン

「便名を印刷に反映」のコードは、モジュール1のプロシージャー「発送便記入」を呼び出します。

Private Sub 便名反映_Click()
Module1.発送便記入
End Sub

 

 

「発送便名クリア」のコードは、テキストボックスの値を空白にして、モジュール1のプロシージャー「発送便CL」を呼び出します。

Private Sub 発送便クリア_Click()
宛名印刷設定.発送便.Value = “”
Module1.発送便CL
End Sub

 

「宛先シート全クリアー」のコードは、モジュール1のプロシージャー「シートクリア宛先」を呼び出します。

Private Sub 宛先CL_Click()
Module1.シートクリア宛先
End Sub

 

「差出シート全クリアー」のコードは、モジュール1のプロシージャー「シートクリア差出」を呼び出します。

Private Sub 差出CL_Click()
Module1.シートクリア差出
End Sub

 

トグルボタン

「封筒登録OFF」のコードは、

  • ボタンを押すと表示が「ON」に変わり「プリンター登録封筒」ユーザーフォームが表示されます。
  • ボタンを戻すと表示が「OFF」に変わり「プリンター登録封筒」ユーザーフォームが消えます。

Private Sub 封筒登録_Click()

 

If  宛名印刷設定.封筒登録 = True Then
  プリンター登録封筒.Show vbModeless
  宛名印刷設定.封筒登録.Caption = “封筒登録ON”
  宛名印刷設定.封筒登録.BackColor = &H808080
ElseIf 宛名印刷設定.封筒登録 = False Then
  Unload プリンター登録封筒
  宛名印刷設定.封筒登録.Caption = “封筒登録OFF”
  宛名印刷設定.封筒登録.BackColor = &HE0E0E0
End If

 

End Sub

 

テキストボックス、コンボボックスのコード設定

テキストボックス

module1からのプロシージャーでデータを開います。

このモジュールシートから記入することはありません。

 

コンボボックス

プルダウンリストで表示されるデータ項目(アイテム)を指定するコードを作成します。

ここで文字フォントを設定していますが、無用なエラーを避けるため、カスタマイズする時(新たなフォントを設定する時)は

こちらで「.AddItem」を増やしてください。(Module1の関連のコードも変更することを忘れずに。)

 

Private Sub UserForm_Initialize()

 

OptionButton1.Value = True
With ComboBox1
.AddItem “MS Pゴシック”
.AddItem “MS P明朝”
.AddItem “AR P隷書体M”
.AddItem “”
End With


End Sub

 

入れ子になるユーザーフォームを作成する

 

トグルボタン「封筒登録OFF」を「ON」にしたときに「プリンター登録封筒」ユーザーフォームが表示されるようにします。

fuutoatenakihon022

 

「プリンター登録封筒」ユーザーフォーム

 

「プリンター登録封筒」ユーザーフォームのプロパティ

このようになります。

fuutoatenakihon023

オブジェクト名 プリンター登録封筒
Caption プリンター登録封筒

 

コントロールツールの配置

 

ラベルとテキストボックスの配置

ラベルは青矢印、テキストボックスは赤矢印になります。

fuutoatenakihon024

 

⑰ラベル

fuutoatenakihon025

⑱テキストボックス

fuutoatenakihon026

⑰ラベル
Caption 洋形2号
⑱テキストボックス
オブジェクト名 コード1

「A6用紙」まで18セット順番に、同様に設定配置していきます。

その他の文字・文章はラベルを使って配置してください。

 

コマンドボタンとトグルボタン、チェックボックスの配置

コマンドボタンは青矢印、チェックボックスは緑矢印となります。

fuutoatenakihon027

⑲コマンドボタン

fuutoatenakihon028

⑳コマンドボタン

fuutoatenakihon029

⑲コマンドボタン

オブジェクト名 封筒サイズ更新
Caption 封筒コード更新

⑳コマンドボタン

オブジェクト名 フォーム終了
Caption 閉じる

 

㉑コマンドボタン

fuutoatenakihon030

㉒トグルボタン

fuutoatenakihon031

㉑コマンドボタン

オブジェクト名 定数値確認
Caption 定数値確認

㉒トルグボタン

オブジェクト名 データシート表示
Caption データシート表示OFF

 

㉓チェックボックス

fuutoatenakihon032

㉓チェックボックス

オブジェクト名 CheckBox1
Caption 空欄データも登録する

入れ子フォームモジュールへの各コントロールのコード記述

 

テキストボックスのコード設定

こちらのフォームモジュールからのコントロールではなく、モジュール3のプロシージャーからの操作になります。

 

コマンドボタン、トグルボタンのコード設定

コマンドボタン

「封筒サイズ更新」のコードは、モジュール1のプロシージャ「封筒コード登録」を呼び出します。

Private Sub 封筒サイズ更新_Click()
Module1.封筒コード登録
End Sub

 

「フォーム終了」のコードは、

  • 「プリンター登録封筒」フォームを消します。
  • 「封筒宛名印刷コントロール」の「封筒登録」トグルボタンを「OFF」に戻します。
  • 「データ」シートをアンビジブルにします。

Private Sub フォーム終了_Click()

Unload プリンター登録封筒
宛名印刷設定.封筒登録.Value = False
宛名印刷設定.封筒登録.Caption = “封筒登録OFF”
宛名印刷設定.封筒登録.BackColor = &HE0E0E0
Worksheets(“データ”).Visible = False

End Sub

 

「定数値確認」のコードは、モジュール1のプロシージャ「設定用定数値」を呼び出します。

Private Sub 定数値確認_Click()
Module1.設定用定数値
End Sub

 

トグルボタン
  • ボタンを押したときに、表示を「ON」に変更します。
  • 「データ」シートを表示し、登録状況を確認できるようにします。
  • ボタンを戻したときはその逆になるようにします。

Private Sub データシート表示_Click()

If プリンター登録封筒.データシート表示 = True Then
  プリンター登録封筒.データシート表示.Caption = “データシート表示ON”
  プリンター登録封筒.データシート表示.BackColor = &H808080
  With Worksheets(“データ”)
    .Visible = True
    .Select
  End With
ElseIf プリンター登録封筒.データシート表示 = False Then
  プリンター登録封筒.データシート表示.Caption = “データシート表示OFF”
  プリンター登録封筒.データシート表示.BackColor = &HE0E0E0
  Worksheets(“データ”).Visible = False
  Worksheets(“宛名リスト”).Select
End If
End Sub

 

呼び出したModule1のプロシージャーのコード記述

 

「封筒宛名印刷コントロール」フォーム中のコントロールから

最初に、モジュールを通して共通の変数の宣言として、先頭に以下のコードを記述します。

 

MEMO

変数の宣言の場所による変数の有効範囲の違いについては、こちらの記事を参考にしてください。

変数の宣言方法で適用範囲をコントロールするVBA記述

 

Public STY As Variant
Public TPnU As Double, TPnL As Double, TPnM As Double, TPnRo As Double
Public aR As Long, J As Long
Public aN, aKei, aSho, aYB, aK, aSK, aB, aBM, aRe

 

コマンドボタンからの呼び出し

オブジェクト 便名反映

モジュール1「発送便記入」を呼び出します。

ラベル「TP_no」のCaptionの値に対して条件分岐をさせています。

封筒のタイプによって、「宛先」シートのレイアウトが変化しますので、発送便名表示位置が変化するからです。

 

MEMO

If条件文の条件分岐の考え方については、こちらを参考にしてください。

「If条件文」のVBAコードの組み方。条件の絞り方を最速に理解。

With~End Withの使い方についてはこちらを参考にしてください。

With~End Withの使い方。VBAコードを簡潔に記述する

 

Sub 発送便記入()

STY = 宛名印刷設定.TP_no.Caption

If STY = “TP3” And 宛名印刷設定.横書き1.Value = False Then

  サブ項目1発送便記入
ElseIf STY = “TP1” And 宛名印刷設定.横書き2.Value = False Then

  サブ項目1発送便記入
ElseIf STY = “TP1” And 宛名印刷設定.横書き3.Value = False Then

  サブ項目1発送便記入
ElseIf STY = “TP2” Or STY = “TP6” Then
  サブ項目1発送便記入

Else
  サブ項目2発送便記入
End If

End Sub

このプロシージャーのサブとなるプロシージャが2つあります。

「サブ項目1発送便記入」プロシージャー (縦書き用)

Sub サブ項目1発送便記入()
Worksheets(“宛先”).Range(“E1:H1”).MergeCells = True
With Worksheets(“宛先”).Range(“E1”)
.Value = 宛名印刷設定.発送便.Value
.Font.Bold = True
.Font.Color = RGB(255, 0, 0)
.Orientation = xlHorizontal
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
End With
End Sub

 

「サブ項目1発送便記入」プロシージャー (横書き用)

Sub サブ項目2発送便記入()
With Worksheets(“宛先”)
.Range(“C1:D1”).MergeCells = True
.Range(“C1”).Value = 宛名印刷設定.発送便.Value
.Range(“C1”).Font.Color = RGB(255, 0, 0)
End With
End Sub

 

オブジェクト 発送便クリア

モジュール1「発送便CL」を呼び出します。

Sub 発送便CL()

Worksheets(“宛先”).Range(“E1”) = “”
Worksheets(“宛先”).Range(“C1”) = “”

End Sub

 

オブジェクト名 宛先CL

モジュール1「シートクリア宛先」を呼び出します。シートを全くのデフォルト状態に戻します。

Sub シートクリア宛先()
With Worksheets(“宛先”)
.Cells.ClearFormats
.Cells.ClearContents
.Cells.UseStandardHeight = True
.Cells.UseStandardWidth = True
End With
End Sub

 

オブジェクト名 差出CL

モジュール1「シートクリア差出」を呼び出します。シートを全くのデフォルト状態に戻します。

Sub シートクリア差出()
With Worksheets(“差出”)
.Cells.ClearFormats
.Cells.ClearContents
.Cells.UseStandardHeight = True
.Cells.UseStandardWidth = True
End With
End Sub

MEMO

シートのクリアについてはこちらの記事を参考にしてください。

エクセルVBA シートのクリアーを目的のメソッド別に最速理解

 

コンボボックスの値の利用

オブジェクト名 ComboBox1

コンボボックスで指定された文字フォントに切り替える設定のコードを記述します。

Sub フォント設定()

Worksheets(“宛先”).Select
Cells.Select

With Selection.Font
If 宛名印刷設定.ComboBox1.ListIndex = 0 Then
.Name = “MS Pゴシック”
ElseIf 宛名印刷設定.ComboBox1.ListIndex = 1 Then
.Name = “MS P明朝”
ElseIf 宛名印刷設定.ComboBox1.ListIndex = 2 Then
.Name = “AR P隷書体M”
Else
.Name = “MS Pゴシック”
End If
End With

Range(“A1”).Select

End Sub

 

子フォーム「プリンター登録封筒」中のコントロールから

コマンドボタン

オブジェクト名 封筒サイズ更新

チェックボックス「空欄データも登録する」がチェックされているかどうかの条件分岐を行っています。

Gotoの使い方については、

Gotoステートメントの利用法を最速に理解。毒コードと薬コード」が参考記事になります。

Sub 封筒コード登録()

Dim x As Long

Worksheets(“データ”).Visible = True
Worksheets(“データ”).Select
  For x = 1 To 18

    If プリンター登録封筒.CheckBox1.Value = False Then
      If プリンター登録封筒.Controls(“コード” & x).Value = “” Then
        GoTo step2
      Else
        Range(“C” & x + 3).Value = プリンター登録封筒.Controls(“コード” & x).Value
      End If
step2:
    Else
      Range(“C” & x + 3).Value = プリンター登録封筒.Controls(“コード” & x).Value
    End If
  Next x

End Sub

 

オブジェクト名 定数値確認

メッセージボックスで「定数値」を表示できるようにしています。

メッセージボックスの使い方は、

メッセージボックス MsgBox実際の使い方を最速に理解」をご覧ください。

Sub 設定用定数値()

Worksheets(“宛先”).Select
MsgBox “用紙設定 定数値は 「 ” & Worksheets(“宛先”).PageSetup.PaperSize & ” 」 です。”, vbOKOnly, “メッセージ”

End Sub

 

基本設定編まとめ

 

お疲れさまでした。

ここまで、コントロールパネルとなるユーザーフォームのベースを作ってきました。

VBAコード文字数としては、ここが一番多くなっています。

結構、いろんな種類のコントロールも利用しましたが、もっと良い使い方があればそれぞれに試してみてください。

ユーザーフォームも配置や配色のデザインは自由ですので、またオリジナルもお考え下さい。

 

vbastudyeyecatch002 エクセルVBAを独学で習得する!ために大切な7つのポイントを解説します

 

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

 

エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできると思います。
エクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。

 

改訂新版 てっとり早く確実にマスターできるExcel VBAの教科書
定番参考書の改定新版が、動画付きになりもっと分かり易くなった
vbastudy022a
vbastudy023a

電子書籍版「改訂新版 てっとり早く確実にマスターできるExcel VBAの教科書」をamazonで見てみる

(著者)大村あつし
(出版社)技術評論社
(税込価格)2,508円(本体2,280円+税)

30冊を超えるExcelのマクロやVBAの解説書を執筆してきた著者による考え抜かれた本書の内容と構成。
独創的な解説手法で必ずExcel VBAが理解できます!
初級からの参考書ですが、より実践的切り口での解説をしています。
QRコードから操作の流れを動画(無音です)で確認することもできるようになりました。
文章解説と動画との関係性は、主は文章での解説、サポートが動画になります。

 

エクセルVBAを使って業務効率を上げて行くのに、始めのうちに知っておきたい内容のまとめはこちらです。

「VBA最速理解」の記事一覧を開く

 

今回の記事はここまでです。   最後までご覧いただき有難うございました。

<追加補足資料>

すべてのオプションボタンのVBAコード

Private Sub OptionButton1_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “洋形2号”
宛名印刷設定.TP_no.Caption = “TP1”
宛名印刷設定.用紙注意.Caption = “洋形2号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C4”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C4”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C4”).Value
End If
End Sub

 

Private Sub OptionButton2_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “洋形3号”
宛名印刷設定.TP_no.Caption = “TP1”
宛名印刷設定.用紙注意.Caption = “洋形3号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C5”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C5”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C5”).Value
End If
End Sub

 

Private Sub OptionButton3_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “洋形4号”
宛名印刷設定.TP_no.Caption = “TP2”
宛名印刷設定.用紙注意.Caption = “洋形4号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C6”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C6”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C6”).Value
End If
End Sub

 

Private Sub OptionButton4_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “洋長形3号”
宛名印刷設定.TP_no.Caption = “TP3”
宛名印刷設定.用紙注意.Caption = “洋長形3号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C7”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C7”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C7”).Value
End If
End Sub

 

Private Sub OptionButton13_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “長形1号”
宛名印刷設定.TP_no.Caption = “TP4”
宛名印刷設定.用紙注意.Caption = “長形1号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C8”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C8”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C8”).Value
End If
End Sub

 

Private Sub OptionButton14_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “長形2号”
宛名印刷設定.TP_no.Caption = “TP5”
宛名印刷設定.用紙注意.Caption = “長形2号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C9”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C9”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C9”).Value
End If
End Sub

 

Private Sub OptionButton5_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “長形3号”
宛名印刷設定.TP_no.Caption = “TP3”
宛名印刷設定.用紙注意.Caption = “長形3号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C10”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C10”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C10”).Value
End If
End Sub

 

Private Sub OptionButton15_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “長形4号”
宛名印刷設定.TP_no.Caption = “TP6”
宛名印刷設定.用紙注意.Caption = “長形4号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C11”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C11”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C11”).Value
End If
End Sub

 

Private Sub OptionButton6_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “長形40号”
宛名印刷設定.TP_no.Caption = “TP6”
宛名印刷設定.用紙注意.Caption = “長形40号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C12”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C12”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C12”).Value
End If
End Sub

 

Private Sub OptionButton10_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形1号”
宛名印刷設定.TP_no.Caption = “TP7”
宛名印刷設定.用紙注意.Caption = “サイズに最適”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
宛名印刷設定.プリンター注意.Caption = “A4プリンターでは印刷できません。A3プリンターに変更するか、または「A6用紙」で印刷して封筒に張り付けてください。”
If  Worksheets(“データ”).Range(“C13”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C13”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C13”).Value
End If
End Sub

 

Private Sub OptionButton9_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形2号”
宛名印刷設定.TP_no.Caption = “TP7”
宛名印刷設定.用紙注意.Caption = “サイズに最適”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
宛名印刷設定.プリンター注意.Caption = “A4プリンターでは印刷できません。A3プリンターに変更するか、または「A6用紙」で印刷して封筒に張り付けてください。”
If  Worksheets(“データ”).Range(“C14”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C14”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C14”).Value
End If
End Sub

 

Private Sub OptionButton8_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形3号”
宛名印刷設定.TP_no.Caption = “TP8”
宛名印刷設定.用紙注意.Caption = “角形3号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C15”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C15”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C15”).Value
End If
End Sub

 

Private Sub OptionButton16_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形4号”
宛名印刷設定.TP_no.Caption = “TP8”
宛名印刷設定.用紙注意.Caption = “角形4号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C16”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C16”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C16”).Value
End If
End Sub

 

Private Sub OptionButton17_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形5号”
宛名印刷設定.TP_no.Caption = “TP9”
宛名印刷設定.用紙注意.Caption = “角形5号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C17”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C17”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C17”).Value
End If
End Sub

 

Private Sub OptionButton18_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形6号”
宛名印刷設定.TP_no.Caption = “TP10”
宛名印刷設定.用紙注意.Caption = “角形6号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C18”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C18”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C18”).Value
End If
End Sub

 

Private Sub OptionButton7_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “角形8号”
宛名印刷設定.TP_no.Caption = “TP5”
宛名印刷設定.用紙注意.Caption = “角形8号”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C19”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C19”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C19”).Value
End If
End Sub

 

Private Sub OptionButton11_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “郵便はがき”
宛名印刷設定.TP_no.Caption = “TP1”
宛名印刷設定.用紙注意.Caption = “郵便はがき”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C20”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C20”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C20”).Value
End If
End Sub

 

Private Sub OptionButton12_Click()

宛名印刷設定.プリンター注意.Caption = “”
宛名印刷設定.用紙注意書き.Caption = “”
宛名印刷設定.サイズ表示A.Caption = “A6用紙”
宛名印刷設定.TP_no.Caption = “TP1”
宛名印刷設定.用紙注意.Caption = “A6用紙”
Application.Wait Now() + TimeValue(“00:00:01”)
宛名印刷設定.用紙注意書き.Caption = “先ず、プリンターの用紙設定をしてください。”
If  Worksheets(“データ”).Range(“C21”).Value = “” Then
  Worksheets(“宛先”).PageSetup.PaperSize = xlPaperA4
  Worksheets(“差出”).PageSetup.PaperSize = xlPaperA4
Else
  Worksheets(“宛先”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C21”).Value
  Worksheets(“差出”).PageSetup.PaperSize = Worksheets(“データ”).Range(“C21”).Value
End If
End Sub

記事内容に戻る↑

 

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません