2016-01-19 Tue
VBAと格闘をしていて、最後に保存しようと、「Crtl+S」を押して上書き保存をしようと思うと、なぜか、名前をつけて保存に
なってしまいます。
NETで検索してもひっかかりません。
もしやと思い、ファイル-オプションをたどってみると、なんと
「保存」という項目があるではありませんか。
ここにブックの保存形式という覧があります。ここがデフォルトでは、
マクロを保存しない、「.xlsx」になってます。これで、上書きではなく
て、名前をつけて保存になったようです。
ここを、マクロも記録できる、「.xltm」にすると上書きができるよう
になりました。
もしかして、ここは、「.xlsm」(マクロ有効ブック)でもよかったの
かも。
この設定は、以前のものにはなかったような?,気が。
あったのかな、この辺はちょっと、不確かです。
2016-01-19 Tue
お手伝いでしている仕事の内容は、ある行事の参加者申し込みの受付の処理です。
参加希望者は、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を挿入した文面を作りました。
手間取りましたが、ちょっと楽になって、間違いもすくなくなり
そうです。
TOP PAGE △