|
▼マクロ初心者 さん:
>文字列にて入力されている為
>変換して置換えができたら嬉しいです。
変換して、西暦のイメージを持った【文字列】にしたいのでしょうか?
それとも、本当の日付型データにしてかまわないのでしょうか?
★数式処理にしろ、マクロ処理にしろ、日付を扱う場合、そのデータが「日付型」であるのがベストですので
シート上のデータとしても、最初から日付型で持たせておくべきです。
このブックが、たとえば取引先から送られてきたものであれば、まだしも
もし、自社内で作成しているブックであれば、シートへのデータ記入時に
日付で入力するようにしましょう。
そもそも、標準書式であれば 2016/11/15 と入力しようが 平成28年11月15日 と入力しようが
エクセルが自動的に日付型に変換します。
これが文字列のまま入っているということは、入力時に、わざわざ、先頭に ' をつけて
入力しているか、あるいは、そのセルの書式を、わざわざ 文字列書式 にしているということなんですが
そんなことをしているのですか?
質問2でも同様で、DateDiff(のみならず、日付を扱う、ほとんどの関数)にとって
与えられる日付はすべて日付型データという前提があります。
アップされたコードのように As String とあって、かつ、シート上のセルにも
文字列として日付のイメージが入力されているだけ ということであれば そのままでは
処理はできません。
どうしますか?
あくまで文字列のまま、変換も文字列、計算も 文字列をもとに行い、その結果も
文字列としてセットする?
もし、こういう要件であれば、βとしてはお手伝いするモチベーションがわきません。
こうすべきではありませんので。
そうではなく、あらためて、シートの日付欄をすべて日付型に変換して、今後使っていく。
そうするための、変換作業を簡便に行いたい ということであれば お手伝いします。
|
|