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