[[20130111123654]] 『CDate関数と文字列の入力』(にゃの) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『CDate関数と文字列の入力』(にゃの)

 Excel2010でユーザーフォームからシートに入力するものを作っています。

 TextBox2〜5には通常それぞれ日付が入り、「入力用」シートの対応セルにその日付が入ります。
 しかし、日付を「12/12/1」のように入力する人もいて日付がおかしくなることがあるので
 Cdate関数を使って

 .Cells(i, 3).Value = CDate(TextBox2.Value)

 のようにしました。

 また、一度の入力でTextBox2〜5すべてが埋まるわけではなく、TextBoxが空欄の場合に「型が一致しません」のエラーを回避するために

 On Error Resume Next

 をコードの中に入れました。

 ところが別の問題が発生しました。

 TextBox2〜5に、たまに「 - 」(日付不要の意味)や「納入済み」のように文字列などを
 入れることがあるのですが、これらの文字列をテキストボックスに入れてもセルに反映されません(セルが空欄のまま)

 どのようにすればよいのでしょうか。

 ご教授お願いします。

   If IsDate(TextBox2.Value) Then
       .Cells(i, 3).Value = CDate(TextBox2.Value)
   Else
       .Cells(i, 3).Value = TextBox2.Value
   End If
 のようにしてどうでしょうか。
 (Mook)

  (Mook)さまありがとうございます。

 まず日付型かどうかを判断させればよかったんですね。
 これでやってみます。

 (にゃの)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.