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