Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


76266 / 76738 ←次へ | 前へ→

【4895】Re:日付の入力
回答  りん E-MAIL  - 03/4/13(日) 7:46 -

引用なし
パスワード
   kenji さん、おはようございます。

>そうですか...割り切って使う事も必要かもしれませんね。何しろ初心者のためマクロを
使えば何でも簡単にできてしまうというイメージがあったものですから。

 (こういう)機能を載せることの弊害を考えたら、/での入力に慣れてもらうほうがいいのか、使う側の意見も聞いたほうがいいですよ。
ちなみに弊害
 ・実行時のエラーへの対応(OS、Varsionの違い当によるもの、記述ミス)
 ・マクロブックの警告がうっとおしい
 ・セキュリティ高だと実行されない
 ・保存するときにちょっとサイズが大きい
 ・アンチウィルスで常時監視してる場合は、保存・読込が遅い
などなど。

で、本文。

シートのChangeイベントを利用します(Moduleではなく該当するSheetに記述します)。
A列のセルに、「.」の入った文字列が入力されたとき、. が / におきかわります。

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  With Target
   'A列が日付
   If .Column = 1 Then
     If .Count = 1 Then
      If InStr(.Value, ".") > 0 Then
        .Value = Application.WorksheetFunction. _
         Substitute(Format(.Value, "0.00"), ".", "/")
      End If
     End If
   End If
  End With
End Sub

10月1日は10.01、1月1日は1.01です。

マクロも期待するほどすごい効果があるものでもないですが、使い込むほど幅が広がる(と思う)ので、過去ログに色々面白いサンプルがあるので試してみられては?

3 hits

【4888】日付の入力 kenji 03/4/12(土) 21:12 質問
【4889】Re:日付の入力 zero 03/4/12(土) 23:34 回答
【4893】Re:日付の入力 kenji 03/4/13(日) 7:16 お礼
【4895】Re:日付の入力 りん 03/4/13(日) 7:46 回答
【4905】ファンタスチック!! こう 03/4/13(日) 17:05 発言
【4913】Re:日付の入力 kenji 03/4/13(日) 19:37 お礼
【4919】Re:日付の入力 zero 03/4/14(月) 1:01 発言
【4922】かっこわる...。 りん 03/4/14(月) 6:52 発言

76266 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free