Excel VBA質問箱 IV

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

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


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

【56106】テキストボックスの入力について DA 08/6/2(月) 11:14 質問[未読]
【56107】Re:テキストボックスの入力について マクロマン 08/6/2(月) 11:20 発言[未読]
【56124】Re:テキストボックスの入力について DA 08/6/3(火) 15:02 質問[未読]
【56125】Re:テキストボックスの入力について neptune 08/6/3(火) 15:22 発言[未読]
【56126】Re:テキストボックスの入力について Abebobo 08/6/3(火) 16:42 発言[未読]
【56144】Re:テキストボックスの入力について DA 08/6/4(水) 17:23 質問[未読]
【56145】Re:テキストボックスの入力について kanabun 08/6/4(水) 17:39 発言[未読]
【56147】Re:テキストボックスの入力について Yuki 08/6/5(木) 7:47 発言[未読]
【56148】Re:テキストボックスの入力について DA 08/6/5(木) 11:02 お礼[未読]

【56106】テキストボックスの入力について
質問  DA  - 08/6/2(月) 11:14 -

引用なし
パスワード
   テキストボックスに時間を入力するフォームを作ったのですが、

今は、時間入力の際に「7:00」と入力しています。
「700」のように、「:」を入力しないでも、excelのように表示形式を定義して、時間のように表すことはできるのでしょうか?

アドバイスよろしくお願い致します。

【56107】Re:テキストボックスの入力について
発言  マクロマン  - 08/6/2(月) 11:20 -

引用なし
パスワード
   文字列操作は
Left
Right
Mid
Len

数値操作は
Mod
\

時刻操作は

TimeSerial関数
TimeValue関数

を調べてみてください。

【56124】Re:テキストボックスの入力について
質問  DA  - 08/6/3(火) 15:02 -

引用なし
パスワード
   返答ありがとうございます。

txt時間内A1 = Format(txt時間内A1.Text, "hh:mm")

↑でやったところ、1900年1月1日から1日計算で表示されてしまい、「1」と入力して確定させると、「0:00」と表示されてしまうのですが、解決方法ありましたらご指摘お願いしたいのですが・・

【56125】Re:テキストボックスの入力について
発言  neptune  - 08/6/3(火) 15:22 -

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

>txt時間内A1 = Format(txt時間内A1.Text, "hh:mm")
>
>↑でやったところ、1900年1月1日から1日計算で表示されてしまい、「1」と入力して確定させると、「0:00」と表示されてしまうのですが、解決方法ありましたらご指摘お願いしたいのですが・・

>今は、時間入力の際に「7:00」と入力しています。
と入力しているなら時間の情報しか入力して無いですよね。
日付型の実態は1日を1とした数値(double型)です。
7:00だけでは日付情報が無いから1未満になります。

Excelでは0は1900/1/1 0:00ですから正しい演算結果でしょう。

で、これ以上は何がしたいのか、判らないのか、良く判りませんので
答えようがありません。・・・私だけかな??

【56126】Re:テキストボックスの入力について
発言  Abebobo  - 08/6/3(火) 16:42 -

引用なし
パスワード
   DA さん neptune さんこんにちは

解ったぁ〜

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 Me.TextBox1.Text = Format(TextBox1.Text, "0:00")
End Sub

ユーザーフォーム上のTextBox1 が対象のコードです。
ビンゴかぁ??

*neptune さん うすうす解っていたとはいえ、誤解させてしまいすみませんでした。これからもよろしくお願いします。

【56144】Re:テキストボックスの入力について
質問  DA  - 08/6/4(水) 17:23 -

引用なし
パスワード
   ビンゴです!!
どうもありがとうございました。

ひとつ問題が出たのですが、
入力はスムーズに行くのですが、確定した後、もう一度テキストボックスをクリックしてENTERを押したり、他のテキストボックスをクリックすると0:00に戻ってしまうのですが・・・解決方法あるんでしょうか・・・?

【56145】Re:テキストボックスの入力について
発言  kanabun  - 08/6/4(水) 17:39 -

引用なし
パスワード
   ▼DA さん:
おじゃまします。

>入力はスムーズに行くのですが、確定した後、もう一度テキストボックスをクリックしてENTERを押したり、他のテキストボックスをクリックすると0:00に戻ってしまうのですが・・・

数値だけのときだけ、変換するように条件をつけたらどうでしょう

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 With TextBox1
   If IsNumeric(.Text) Then
     .Text = Format$(.Text, "0:00")
   End If
 End With
End Sub

【56147】Re:テキストボックスの入力について
発言  Yuki  - 08/6/5(木) 7:47 -

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

>ひとつ問題が出たのですが、
>入力はスムーズに行くのですが、確定した後、もう一度テキストボックスをクリックしてENTERを押したり、他のテキストボックスをクリックすると0:00に戻ってしまうのですが・・・解決方法あるんでしょうか・・・?

これを付け加えたらどうでしょう。
Private Sub TextBox1_Enter()
  With Me.TextBox1
    .Value = Replace(.Value, ":", "")
    .SelStart = 0
    .SelLength = Len(.Value)
  End With
End Sub

【56148】Re:テキストボックスの入力について
お礼  DA  - 08/6/5(木) 11:02 -

引用なし
パスワード
   Yukiさん、kanabunさん貴重なご意見ありがとうございました!
無事作業終えることができました。

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