[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『TextBoxから日付をセルに転記すると文字列になっている』(ちゃんぷる)
お世話になります。
TextBoxに入力されている日付データを
セルに転記した際、セルの書式設定で"gee.mm.dd"としているのですが
文字列?で転記されているようです。
転記されたセルをマウスでダブルクリック
又は、F2キーを押して一度アクティブにすると
なぜか、セルの書式設定に従って表示されます。
現在のコード一部です(UserForm上からコマンドボタンクリックで指定セルにデータが転記)
↓
rng.Cells(27).Value = TextBox9.Value
rng.Cells(27).TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, 5)
どうかアドバイスの程よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
(マナ) 2017/03/12(日) 20:37
気になりますのでコメントします。
TextBox9 ですから、当然 テキストボックス。 したがって、操作者が任意の文字列を入れることができます。 ABC でも HOGE でも、入力は可能です。 したがって、転記の前に、それが、【正しい日付型文字列】であることをチェックしなければいけません。
で、何が 正しい日付型文字列 なのか、これは、悩みますね。 1つの方法としては、IsDate(文字列) でチェック。 ただ、これも、H29.9.10 といった文字列、これは シートで入力するとちゃんと日付型とみなしてくれますが、IsDate では日付型ではないとみなされます。 (手入力であれば日付型に自動変換されますが、この値をVBAでセルに転記すると文字列になりますね)
実際にTextBox9に操作者がいれる日付の形はどんなものなのかにもよりますが、最低でも マナさんのアドバイスの変換、これを行ったものを、そのまま CDate をかけて転記するのではなく いったん、IsDate でチェックしてから CDate変換して書き込む必要がありますね。
(β) 2017/03/12(日) 22:19
今回の転記がうまくいかない問題を解決法が理解できれば、
年と月と日を、どのように連結したらよいかは理解できると思います。
(マナ) 2017/03/12(日) 22:39
あがうございます。
IsDateとCDateで
なんとかうまくいきました
感謝します
(ちゃんぷる) 2017/03/19(日) 01:15
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.