発信元情報を表示するためのエクセルVBA。返品依頼書を作る

henpihashineyecatchaa

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

 

今回は,

エクセルBOOK「返品了解申請.xlsm」の「返品依頼テンプレート」に、

発信元(自店)情報を表示するためのVBAプログラム作りを行っていきます。

 

ちょっとその前に、
前回の記事の確認をしたいという方はこちら↓からお読みいただけます。

返品依頼テンプレートへのデータ流し込みをエクセルVBAで行う方法

 

返品了解書作成に関連の記事はこちらです。

「返品了解書作成」の記事一覧を開く

 

発信元情報の表示のVBA作成の流れ

 

今回は、エクセルBOOK「返品了解申請.xlsm」の「スタート設定」シートを使います。

返品依頼の「発信元情報」を登録する入力欄を作成します。

①「発信元情報」を登録する入力欄を作成します。

 

②番線印と番線印情報を選択表示できるようにします。

 

 

ここでのVBAでのデータ処理は、「返品依頼テンプレート」に対して反映させていきます。

つまり、出版社別シートを作成するための”コピー元”に対してということになりますので、

返品依頼テンプレートへのデータ流し込みをエクセルVBAで行う方法」でのデータ処理を行う前に、

この発信元情報の表示を「返品依頼テンプレート」に対して行っておく必要があります。

 

 

表示のVBAコード作成

 

新しくモジュールを挿入してください。

 

(挿入の方法はこちら↓で確認できます。)

VBE(ビジュアルベーシックエディター)を起動する

エクセルVBA 始めての起動。VBEの立ち上げ、保存と終了

 

発信元情報の入力欄の作成

 

最初に「スタート設定」シートのセルサイズを決めていきます。

全体として

 

セル高さ・・・
シート全体をつかんで、「高さ:37ピクセル」にセットしてください。

セル幅・・・
シート全体をつかんで、「幅:72ピクセル」にセットしてください。

 

I列の幅を267ピクセルに、K列の幅を334ピクセルにします。

●「発信元情報」はH2からL7

 

●「番線印」はH12からL15

 

のセル範囲で作成します。

セル範囲の外枠を実線で囲みます。

 

「番線印」についてはセルのコピぺで番線印画像を移動します。

ですので「番線印」を置くセルには罫線が付かないようにします。(隣り合う4辺のセルを緩衝セルとします。)

 

「入力欄」の完成はこのようになります。

henpinhatsin001a
色付きセルの部分は、入力項目の表示になります。

 

VBAコードを組み立てる

 

VBAコードを組んでいきます。

 

Subプロシージャー名を「発信元情報」とします。

Sub 発信先情報()
End Sub

 

変数はこのように設定します。

「発信元(注文元)」・・・・・Ha
「部署名/担当者名」・・・・・Hb
「住所」・・・・・・・・・・・Hc
「電話番号」・・・・・・・・・Hd
「FAX番号」・・・・・・・・He

 

「返品依頼テンプレートシート」に表示するときには、

前に入力した情報に上書きされる状態になります。


Sub 発信元情報()

Dim Ha As Variant
Dim Hb As Variant
Dim Hc As Variant
Dim Hd As Variant
Dim He As Variant

  Worksheets("スタート設定").Select
    Ha = Range("K3")
    Hb = Range("K4")
    Hc = Range("K5")
    Hd = Range("K6")
    He = Range("K7")
  Worksheets("返品依頼テンプレート").Select
    Range("C31") = Ha
    Range("C32") = Hb
    Range("C33") = Hc
    Range("C34") = Hd
    Range("C35") = He
End Sub

 

番線印については、「番線印」と「番線印情報」を選択できるようにします。

チェックボックスを挿入して行います。

MEMO

チェックボックスの挿入方法はこの記事を参考にしてください。

【2種類のチェックボックス】エクセルシートへの設置と使い方の違いを解説

 

チェックボックスは「開発タブ」の「挿入」より「ActiveXコントロール」のチェックボックスを選択します。

henpinhatsin005a

 

今回のチェックボックスは、1つのみ選択・2つ選択・選択無しの3パターンがあります。

「1つ選択」・・・チェックした方が表示されます。

 

「2つ選択」・・・「番線印」が表示されます。

 

「選択無し」・・・何も表示されません。

 

VBAコードを組みます。

Subプロシージャー名を「番線印転記」とします。

Sub 番線印転記()
End Sub

 

VBAコードはこのようになりますが、「番線印」のコピペの方法上、

連絡表の外枠の線が消えてしまいますので、プロシージャー名を「線引き直し」として、

修復のVBAを組んでおきます。

Sub 番線印転記()

Dim BNa As Boolean
Dim BNb As Boolean
  Worksheets("スタート設定").Select

  If Worksheets("スタート設定").CheckBox1.Value = True Then
    BNa = True
  End If

  If Worksheets("スタート設定").CheckBox2.Value = True Then
    BNb = True
  End If

  If BNa = True And BNb = True Then
    BNa = True
    BNb = False
  End If
  Worksheets("返品依頼テンプレート").DrawingObjects.Delete
  If BNa = True Then
    Range("I14").Copy _
      Destination:=Worksheets("返品依頼テンプレート").Range("A31")
    Range("I14").Copy _
      Destination:=Worksheets("返品依頼テンプレート").Range("A40")
    Range("I14").Copy _
      Destination:=Worksheets("返品依頼テンプレート").Range("A66")

  ElseIf BNb = True Then
    Range("K14").Copy _
      Destination:=Worksheets("返品依頼テンプレート").Range("A31")
    Range("K14").Copy _
      Destination:=Worksheets("返品依頼テンプレート").Range("A40")
    Range("K14").Copy _
      Destination:=Worksheets("返品依頼テンプレート").Range("A66")
  End If
線引き直し
End Sub

 

Subプロシージャー名を「線引き直し」

Sub 線引き直し()

Worksheets("返品依頼テンプレート").Select
  With Range("A40").Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
  End With
  With Range("A66").Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
  End With

End Sub

 

これで発信元情報の表示は完了です。

 

今回作成したコード

 

今回作成したコードはこのようになります。

henpinhatsin002a

 

henpinhatsin003a

 

henpinhatsin004a

 

発信元情報表示VBA作成のまとめ

 

これで返品了解書作成部分までは完了しました。

 

次回は、作成後 次に利用するときのための「データをクリアー」する作業について行っていきます。

 

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

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

 

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

 

次の記事はこちら↓からご覧いただけます。

利用後情報をクリアするエクセルVBA。返品了解の依頼書の作り方

 

エクセルVBAを使って、業務効率UPを図る上で始めのうちに知っておきたい内容を纏めています。

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

 

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

 

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