---手強しエクセルVBA (3)---

 VBAと格闘をしていて、最後に保存しようと、「Crtl+S」を押して
 上書き保存をしようと思うと、なぜか、名前をつけて保存に
 なってしまいます。
 NETで検索してもひっかかりません。
 もしやと思い、ファイル-オプションをたどってみると、なんと
 「保存」という項目があるではありませんか。

 

 ここにブックの保存形式という覧があります。ここがデフォルトでは、
 マクロを保存しない、「.xlsx」になってます。これで、上書きではなく
 て、名前をつけて保存になったようです。
 ここを、マクロも記録できる、「.xltm」にすると上書きができるよう
 になりました。
 もしかして、ここは、「.xlsm」(マクロ有効ブック)でもよかったの
 かも。
 この設定は、以前のものにはなかったような?,気が。
 あったのかな、この辺はちょっと、不確かです。

---手強しエクセルVBA (2)---

 お手伝いでしている仕事の内容は、ある行事の参加者申し
 込みの受付の処理です。
 参加希望者は、HPから申し込みをします。すると。手元に
 申し込みのメールが届きます。
 このメールを処理して、

  1 受講票返信メールの作成・送付
     受付日付
     受付No
  2 受講者一覧表の作成

 の一連の作業をします。以前は、この作業を全部手作業
 でやってました。
 今回の催しの定員が100名ですから、結構な手間です。
 そこで、VBAの登場でしたが、やっと次のような手順で
 かなりの部分を半自動?にすることができました。

 
  送られてくる自動返信メールのコピー(手動)
   ↓
  エクセルに貼り付け(手動)
   ↓
  必要データーの取り出しと成形(エクセル関数)
   ↓
  一覧表への追加(エクセルVBA)
   ↓
  返信文面の作製(エクセル関数)
    受付月日の挿入
    受付Noの挿入
   ↓
  エクセルの返信文面のコピー(手動)
   ↓
  メールへの貼り付け(手動)
   ↓
  送信・・・・・・・・・受付完了

 これらの作業のなかで、一覧表への追加が一番てまどりまし
 た。
 その次にてまどったのが受付Noの挿入です。
 これは、受付名簿の一覧表から、追加した項目のNoを
 読みとることで実現しました。

   Worksheets(“Sheet1”).Range(“B” & Range(“C4”).-
        End(xlDown).Row).Copy
   Range(“J6”).Select
   ActiveSheet.Paste

  表に追加すると、C4の表題以下のセルに種別が追加され
 ますので、

   Range(“C4”).End(xlDown).Row)

 で、どこのセルが記入済みの最下段(行)か取得します。
 この読みとった行とNoの書いてある”B”と&をとって、
 該当のNoのセルの番地を作ってます。

 Worksheets(“Sheet1”).Range(“B” & Range(“C4”).End(xlDown).Row)

 これを、作業セルのJ6にペーストします。

   Range(“J6”).Select
   ActiveSheet.Paste

 こんな一連の動作で、受付Noを挿入した文面を作りました。
 手間取りましたが、ちょっと楽になって、間違いもすくなくなり
 そうです。