Excel VBA質問箱 IV

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

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


12981 / 13644 ツリー ←次へ | 前へ→

【7600】年が変わってしまう!? yoppy 03/9/9(火) 13:12 質問
【7614】Re:年が変わってしまう!? ichinose 03/9/10(水) 12:44 発言
【7618】Re:年が変わってしまう!? yoppy 03/9/10(水) 13:17 お礼

【7600】年が変わってしまう!?
質問  yoppy  - 03/9/9(火) 13:12 -

引用なし
パスワード
   Userformを使って、データ−シートから下記のようなデータ−処理をしていました。

myDay = FormatDateTime(UserForm1.TextBox1.Text)
 With Worksheets("データ−").UsedRange.Columns(2)
  Set c = .Find(What:=myDay)
   If Not c Is Nothing Then
    i = c.Rows.Row
   End If
   End With
 With Worksheets("シート")
    .Cells(6, 4).Value = Worksheets("データ−").Cells(i, 19).Value
 End with

ところがある日から処理できなくなってしまいました。
で、デバッグを見てみるとTextboxには“2003/9/3”と入力してあるのに、myDayの値は
“2015/9/3”となっています。
なぜそんなふうになるのでしょう?
どなたか教えてください。

【7614】Re:年が変わってしまう!?
発言  ichinose  - 03/9/10(水) 12:44 -

引用なし
パスワード
   ▼yoppy さん:
こんにちは。

>Userformを使って、データ−シートから下記のようなデータ−処理をしていました。
>
>myDay = FormatDateTime(UserForm1.TextBox1.Text)
> With Worksheets("データ−").UsedRange.Columns(2)
>  Set c = .Find(What:=myDay)
>   If Not c Is Nothing Then
>    i = c.Rows.Row
>   End If
>   End With
> With Worksheets("シート")
>    .Cells(6, 4).Value = Worksheets("データ−").Cells(i, 19).Value
> End with
>
>ところがある日から処理できなくなってしまいました。
>で、デバッグを見てみるとTextboxには“2003/9/3”と入力してあるのに、myDayの値は
>“2015/9/3”となっています。
>なぜそんなふうになるのでしょう?
>どなたか教えてください。

FormatDateTime関数は、コントロールパネルの地域の日付けの設定に依存してしまうようです。これの短い形式というところを確認して下さい。
又は、
FormatDateTime関数ではなく、Format(UserForm1.TextBox1.Text,"yyyy/m/d")
とするかですが・・・。

【7618】Re:年が変わってしまう!?
お礼  yoppy  - 03/9/10(水) 13:17 -

引用なし
パスワード
   ありがとうございます。
ちゃんと作動するようになりました。

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