Excel VBA質問箱 IV

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

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


64014 / 76738 ←次へ | 前へ→

【17309】DateAdd関数を使ってみたのですが・・・
質問  karakol  - 04/8/26(木) 19:10 -

引用なし
パスワード
   ご回答、ありがとうございました!
早速、DateAdd関数を用いて試してみました。

まず任意の日付からではなく、
現在の日付からの1年半後として、
(正確にはマイナス1日)
Mydate=date
とすると、スムースに進み、ちゃんと1年半後の
日付を取得できたのですが、セルA1に入力した
任意の日付からの1年半後となると、うまくいかないんです。

Mydate=#mm/dd/yy#
と記述すると、任意の日付を取得できるとのことなのですが、
エクセル上のセル(1,1)に入力した日付を格納するとなると
私にはmid関数を用いて「mm」「dd」「yy」を
それぞれ個々に取得する方法しか
思い浮かばず、下記のようなマクロを組んでみました。

mid関数はstringの型を用いるとのことなので、
型を変換しながら進めるマクロなのですが、
Mydate = K3
のところで止まってしまいます。
型が合わないのかと思い、Variant型にしてみたのですが、
やはり止まってしまいます。
どうしたらよいのでしょうか?

ご回答頂ける方、お返事お待ちしております。

  Dim K1     As Long
  Dim K2     As String
  Dim K3     As Variant
  Dim Mydate   As Date
  
   K1 = WS1.Cells(1, 1)
   K2 = CStr(K1)
   K3 = "#" & Mid(K2, 5, 2) & "/" & Mid(K2, 7, 2) & "/" & Mid(K2, 3, 2) & "#"
   Mydate = K3 'ここで止まってしまいます。
   Mydate = DateAdd("yyyy", 1, Mydate)
   Mydate = DateAdd("m", 6, Mydate)
   Mydate = DateAdd("d", -1, Mydate)
   WS1.Cells(1, 2) = Mydate

0 hits

【17255】一年半後の日付を取得する方法 karakol 04/8/25(水) 22:07 質問
【17257】Re:一年半後の日付を取得する方法 ちゃっぴ 04/8/25(水) 22:11 回答
【17309】DateAdd関数を使ってみたのですが・・・ karakol 04/8/26(木) 19:10 質問
【17316】Re:DateAdd関数を使ってみたのですが・・・ ちゃっぴ 04/8/26(木) 21:39 回答
【17317】Re:DateAdd関数を使ってみたのですが・・・ Asaki 04/8/26(木) 21:42 回答
【17318】Re:DateAdd関数を使ってみたのですが・・・ ちゃっぴ 04/8/26(木) 22:09 発言
【17319】何度もすみません・・・ karakol 04/8/26(木) 22:52 質問
【17322】Re:何度もすみません・・・ ちゃっぴ 04/8/26(木) 23:07 回答
【17323】Re:何度もすみません・・・ Asaki 04/8/26(木) 23:10 回答
【17325】できました! karakol 04/8/26(木) 23:57 お礼

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