• ベストアンサー

ExcelVBA テキストボックスのControl

いつもお世話になります。 Excelのユーザーフォームのテキストボックスの機能についてご質問させて頂きます。 TextBox40のControlSourceに「設定項目!B9」と設定しました。 その際、B9には「10:00」と入力しておりまして、テキストボックスにはシリアル値が 表示されてしまいます。 これをシリアル値ではなく「10:00」とあらわすにはどの様な手順が必要でしょうか? コードで取得するしか方法はないでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8539/19415)
回答No.1

TextBox40のControlSourceを「空欄」にした上で、以下のイベントプロシージャを追加します。 Private Sub TextBox40_Change() Sheets("設定項目").Range("B9").Value = TextBox40.Value End Sub Private Sub UserForm_Initialize() TextBox40 = Format(Sheets("設定項目").Range("B9").Value, "hh:mm") End Sub

merrykun2006
質問者

お礼

ご返信ありがとうございます。 やはりコード対応が必要って事ですね。 丁寧に頂戴しましたコードを利用させて頂きました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ユーザーフォーム内のテキストボックス内の書式設定

    A1セルに12.345と入力してあり、書式は「数値」で小数点以下の桁数2にしてあり、 「12.35」と表示されます。 VBAを起動して、ユーザーフォームを挿入し、 テキストボックスを作成し、 TextBox1の「ControlSource」にA1と入力すると TextBox1には「12.345」と表示されます。 エクセルのA1と同じ様に TextBox1も「12.35」と表示したいのですがどうすればいいのでしょうか? エクセル2003です。 よろしくお願い致します。

  • テキストボックスをセルへ。

    3つ聞きたいです。 ユーザーフォームのテキストボックスに記入した内容を 最終行を取得して、指定の列にコメントを入力させるためには どうするのがいいでしょうか。下記で、エラーが出てしまいます。 .cells(lrow + 1, "c").addcomment = textbox5.value それと、一つのテキストボックスの内容を複数の セルへ記入させるには、下記をどうすればいいですか。 .cells(lrow + 1, "X:Z").value = textbox6.value あと、ショートカットキーで(例えば、CTRL + Q) ユーザーフォームを起動させるにはどうすればよいですか。 するとしたら、そのコードはどこに表示させるのがいいでしょうか。 いろいろ、お願いですが教示お願いします。

  • ユーザーフォームのテキストボックスについて

    ユーザーフォームのテキストボックスを使ってシートにデータを転記しています。 テキストボックスに日付を5/10のような形式で入力し、表示をH22.5.10と変換させるようにしています。 Private Sub TextBox1_AfterUpdate() x = TextBox61Text TextBox1.Text = Format(x, "ge.m.d") End Sub これを転記した時に、そのまま文字列として貼り付けられるため、シリアル値として入りません。 これをシリアル値として入れるためにはどのようにすればいいでしょうか?

  • Excelで検索結果をテキストボックスに表示

    Excelユーザーフォームにテキストボックス4つとコマンドドボタン1つを作成して、TextBox1に検索項目を入力しボタンを押すとA列を検索してB列、C列、D列の検索結果をTextbox2(B列)、textbox3(C列)、textbox4(D列)に表示する。 A列に同じ項目があったら、ボタンを押すと次の検索結果をTextboxに表示するマクロを教えてください。

  • エクセルVBAのユーザーフォーム上のテキストボックスについての質問です

    エクセルVBAのユーザーフォーム上のテキストボックスについての質問です。 Aのユーザーフォームの内容をBのユーザーフォームのテキストボックスへ引き継いで、Bのユーザーフォーム上で内容を編集するという仕組みにしたいのです。 Bのユーザーフォームは新規入力もかねたユーザーフォームなので、テキストボックスのイベントにAfterUpdateを使用して、テキストボックスの内容が書き換えられるとデータベースから検索して新規か既存か判断させています。 AのユーザーフォームからBのユーザーフォームのテキストボックスへ引継ぎさせるときにこのAfterUpdateを発生させたくないのですが、Application.EnableEvents=Falseなどを使ってもイベントが発生してしまいます。 また、イベントがどのタイミングで発生するかと、コードをステップで実行させると、このイベントは発生しません。そのために、いきづまってしまいました。 AのユーザーフォームからBに引き継ぐ処理  ユーザーフォームB.Load ---ユーザーフォームBのイニシャライズが実行される  ユーザーフォームB.テキストボックス = ユーザーフォームA.テキストボックス  ユーザーフォームB.Show ちょっと簡単に書きすぎですがこんな感じです。 コードをステップで実行するとユーザーフォームBのAfterUpdateは実行されません。(VBAエディタのバグ?) どなたか回答お願いします。

  • ユーザーフォーム上にある「テキストボックス」に小数が入力できない

    以前にユーザーフォーム上のテキストボックスにセル値反映する方法を下記(サンプル1)のようにお教えいただいたのですが、下記のようにマクロを組むとテキストボックスに小数が入力できなくなってしまいます。 どのようにしたら、テキストボックスに小数が入力できるようになるのでしょうか? お教えください。 事例)「1.234」とテキストボックスに打ち込むと「1」    「0.856」とテキストボックスに打ち込むと「0」と    なってしまいます。 (サンプル1) 'A1のデータを反映するとした場合 'OptionButton1のコード Private Sub OptionButton1_Click() TextBox1 = Sheets("Sheet1").Range("a1") End Sub 'B1に反映するとして 'OptionButton2のコード Private Sub OptionButton2_Click() TextBox1 = "" End Sub 'TextBox1のコード Private Sub TextBox1_Change() If OptionButton2 = True Then Sheets("Sheet1").Range("B1") = TextBox1.Value End If End Sub

  • コンボボックスからテキストボックスに連続して値を出したい

    エクセルVBAのユーザーフォームで、コンボボックスで選択したものをコマンドボタンを押すことで、同じフォーム上のテキストボックスに表示するところまではできたのですが、同じテキストボックスに追記する形でコンボボックスで選択したものを表示したいのですが、可能でしょうか。テキストボックスは複数行表示できるようにプロパティのMultiLineはTlueに設定することはしたのですが、2回目以降コンボボックスで選択した後コマンドボタンを押してもそのまま上書きするようなコードしかわかりません。 テキストボックスに、20回目まで選択項目を追加表示し、最後にはエクセルのシートにそのデータをコピーしたいのです。果たして、そのようなことは可能でしょうか。可能であればどのように記述すればよいのでしょうか。ぜひ諸先輩方のお知恵をお貸しください。よろしくお願いします。

  • ユーザーフォームのテキストボックスの書式設定について

    ユーザーフォームのテキストボックスの書式設定について TextBox1に金額、TextBox2に日付を入力し、Sheet1に転記するような フォームを作っています。 TextBox1には、 Private Sub TextBox1_Change() y = TextBox1.Text TextBox1.Text = Format$(CLng(y), "#,##0") End Sub としています。 TextBox2には、書式をH○○.○.○という設定にしたいのですが、 どのようにしたらよいでしょうか。

  • 複数コントロールテキストの同一セルへの入力

    はじめまして。 エクセルVBAについて質問させて頂きます。 ユーザーフォームにラベル・テキストボックスそれぞれ1~6があって ラベルのキャプションとテキストボックスのテキストをセル同一セルに 入力したくて With UserForm1 Range("A1") = .Label1.Caption & .TextBox1.Text & .Label2.Caption & .TextBox2.Text _ & .Label3.Caption & .TextBox3.Text & .Label4.Caption & .TextBox4.Text _ & .Label5.Caption & .TextBox5.Text & .Label6.Caption & .TextBox6.Text End With と、このように記述したのでが、これをもっと簡潔に書く方法はございませんでしょうか? ご教授よろしくお願いします。

  • サブレポートのテキストボックスのコントロールソース

    アクセス レポート サブレポートのテキストボックスのコントロールソースの設定をVBAでするタイミングを教えてください。 詳細_Formatイベントで、 Me.Controls("サブレポート").Report.Controls("月").ControlSource = "月" とすると 印刷プレビュー時または印刷を開始したあとは、コントロールソースプロパティを設定できません というエラーになります。 フォームからレポートを開いていて、フォームの値をサブレポートのテキストボックスのコントロールソースに設定したい場合、どのレポートのイベントで設定すればいいでしょうか? ご回答よろしくお願いします。

専門家に質問してみよう