• ベストアンサー

EXCEL VBAのTextBoxプロパティについて

こんばんは。 シート2のセルF3に「11時08分54秒」と表示されており、 これをUserForm1のTextBox4にも「11時08分54秒」と 表示させたいのですが属性の違いでしょうか?うまく表示 できません。 コード:UserForm1.TextBox4.Text = Sheet2.Range("F3").Value TextBoxのプロパティをいじったり、ネット検索してもヒットせず 進展しないため、アドバイス願います。

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

  • ベストアンサー
  • camputer
  • ベストアンサー率64% (22/34)
回答No.2

 こんばんは.  今手元のExcel2007で試してみましたが, UserForm1.TextBox4.Text = Sheet2.Range("F3").Value ではなく UserForm1.TextBox4.Text = Sheet2.Range("F3").Text で取れますね.  よかったら試してみてください.では.

Avirex
質問者

お礼

ありがとうございます。 助かりました。

その他の回答 (1)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

>UserForm1.TextBox4.Text = Sheet2.Range("F3").Value を UserForm1.TextBox4.Text = Sheet2.Range("F3").Text としてください 以上参考まで

Avirex
質問者

お礼

再度、ありがとうございます。

関連するQ&A

  • VBAのTextBox表示について質問します。

    実は、MicrosoftのExcel内にありますVBAを使ってシート内に記載られている内容を Userform内にあるTextBoxに表示させたいと考えています。 UserformにあるTextBoxは、シートのセルに対してTextBoxを1個配置させています。 例えば・・・セルA1に入力されている文字をTextBox1に表示 セルB1に入力されている文字をTextBox2に表示 セルC1に入力されている文字をTextBox3に表示 セルD1に入力されている文字をTextBox4に表示 セルE1に入力されている文字をTextBox5に表示と言う様な感じで表示したいです。 セル表示範囲は、A1~E24までのセルでTextBoxもTextBox24まで存在します。 TextBox1.Text = ThisWorkbook.Sheets("Sheet1").Range("A1") TextBox2.Text = ThisWorkbook.Sheets("Sheet1").Range("B1") TextBox3.Text = ThisWorkbook.Sheets("Sheet1").Range("C1") TextBox4.Text = ThisWorkbook.Sheets("Sheet1").Range("D1") TextBox5.Text = ThisWorkbook.Sheets("Sheet1").Range("E1") TextBox6.Text = ThisWorkbook.Sheets("Sheet1").Range("A2") TextBox7.Text = ThisWorkbook.Sheets("Sheet1").Range("B2") TextBox8.Text = ThisWorkbook.Sheets("Sheet1").Range("C2") TextBox9.Text = ThisWorkbook.Sheets("Sheet1").Range("D2") TextBox10.Text = ThisWorkbook.Sheets("Sheet1").Range("E2") 以降~途中省略 TextBox120.Text = ThisWorkbook.Sheets("Sheet1").Range("E24") と言う様な・・・ 上記の、この様なコードでして行くと事は可能なんですが・・・ もっと短く出来ないでしょうか?

  • Excel VBA セルの内容をTextBoxに

    ExcelのVBAで質問があります。 複数のシートの表に入力した値の合計を出したいのですが、 その後の処理もあり、ユーザーフォームのテキストボックスに反映させたいと考えています。 Windows7のExcel2010で作っています。 試しにセルB1の値が変わった時、 テキストボックスに反映させるつもりで作ったコードは以下の通りですが、 上手くいきません。 Sub Z_test() UserForm2.Show vbModeless End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(False, False) = "B1" Then UserForm2.TextBox1.Value = Range("B1").Value '←※ End If End Sub ※の行には他にも UserForm2.Controls("TextBox1").Value = Range("B1").Value と調べたコードを試してみたのですが、 セルの内容が全く反映されません。 セルB1には数式の「=SUM(C2:C1000)」 が入っており、表のC列に入力された値の合計を求めています。 どなたかお知恵を拝借できれば大変助かります。 宜しくお願い致します。 長文失礼しました。

  • UserFormのTextBoxのプロパティの違い

     UserFormのTextBoxのプロパティのValueプロパティとTextプロパティはどちらも同じ値が表示されますが、この2つのプロパティは何が違うのでしょうか?  もし同一のものならばどちらか一方のみがあれは済む話ではないでしょうか? ※ 別にどちらを使えば良いのか迷っている訳ではありませんので、「どちらでも良い」といった類の回答は御遠慮願います。

  • エクセルマクロが重い

    こんにちは。 ご教授くださいませ。 すでに先方が作っているエクセルのシートがありまして、 そのシートの表組み規則にのっとって入力するユーザーフォーム を私のほうで作ったのですが、重いです。 selectの多用はだめ!というところまでは調べたのですが じゃあどうしたらいいかわかりません。 ■ '--------------------8時から If OptionButton1.Value = True Then ActiveCell.Offset(3, -1).Range("A1").Select ActiveCell = UserForm3.TextBox1.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox2.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox3.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox4.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox5.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox6.Value ActiveCell.Offset(3, 0).Range("A1").Select ActiveCell = UserForm3.TextBox12.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox11.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox10.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox9.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox8.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox7.Value ActiveCell.Offset(3, 0).Range("A1").Select ActiveCell = UserForm3.TextBox13.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox14.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox15.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox16.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox17.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox18.Value ActiveCell.Offset(3, 0).Range("A1").Select ActiveCell = UserForm3.TextBox24.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox23.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox22.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox21.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox20.Value ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell = UserForm3.TextBox19.Value ActiveCell.Offset(3, 0).Range("A1").Select ActiveCell = UserForm3.TextBox25.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox26.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox27.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox28.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox29.Value ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell = UserForm3.TextBox30.Value 'ActiveWorkbook.Save MsgBox "入力しました。", vbInformation, "確認" End If '--------------------8時から(END ■ 基本の流れは... 最初にオプションボタン3つのどれか1個の 選択を求め、その条件に応じて 始基点となるセルが変わります。 で、あとは与えられた表組みを縦や横に 移動しながら、対応するテキストボックスの 値を入れる、という 我ながら頭の悪い方法で^^; .selectではない、スマートな方法があればと思います。 ぜひお知恵を!

  • エクセル VBA BeforeDoubleClick

    エクセル VBA 初心者です エクセルで セルをダブルクリック(複数のセル)しUserFORMが出るところまではできましたが UserFormでの登録時のオブジェクトがわかりません;;  sheetでtarget.range("A1:G1")して A1~G1でUserFormをよびだしています UserFormで登録時 target.offset(1,0)=textbox1.text みたいな感じで作ったらオブジェクトが見つかりませんが でます userformでのtarget指定はできるでしょうか?

  • エクセルのマクロを教えてください。

    マクロの初心者です。 特に変数が全く使えず、下記もどのように記載していいのかわからないため教えていただけないでしょうか。 ユーザーフォームのtextbox2に開始番号があります。 textbox3に本数があります。 sheet1のB12セルには開始番号が入ります。 開始番号から本数分+1したものを順番にセルに入っていくようにしたいです。 ただ、入れたいセルが横→左下(開始番号の列)→横→左下(開始番号の列)・・・としたいため、どのように書いていいのかわかりません。 地道に書くのであれば、下記のようになると思うのですが、変数を使って書く場合はどのようになるのか教えていただけないでしょうか。 Worksheets("Sheet1").Range("B12").Value = TextBox2.Value If TextBox3.Value = 2 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 ElseIf TextBox3.Value = 3 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 ElseIf TextBox3.Value = 4 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 ElseIf TextBox3.Value = 5 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 Worksheets("Sheet1").Range("B14").Value = TextBox2.Value * 1 + 4 ・ ・ ・ End If

  • VBAで入力フォーム★入力&検索&修正登録

    お世話になります。 この度VBAで入力フォームを作成したく奮闘しております。 最終形に辿り着かせたくお力を頂戴出来れば幸いです。 私の勉強不足で全く知識がなく、分かりにくいところもあるかと思いますが宜しくお願い致します。 ※UserForm案の画像添付あり ◇最終形 Userformに入力 → Excelシートに転記 Userformにて既存のデータを検索 → Userform各項目に抽出反映 上記抽出データに変更・追加 → Excelシートに反映 一旦色々なサイト様よりベースを引用し作成しておりますが、今回私の作成したフォームではcomboboxが使用されておらず 新しくcomboboxを追加したことにより下記エラーが発生するようになりました。 「Valueプロパティを設定できません。種類が一致しません。」 ご教示お願い致します。 引用URL https://tripbowl.com/excel-vba/find/ 下記作成分 Private Sub Search_Click() 'Searchを押すと検索結果を表示させる Range("A2").Value = Textbox1.Value Dim mycell As Range Set mycell = Range("A4:A800").Find(What:=Range("A2").Value, LookAt:=xlWhole) If Not mycell Is Nothing Then mycell.Select With Userform1 For i = 2 To 37 Userform1.Controls("TextBox" & i).Value = mycell.Offset(, i - 1).Value Next i End With Range("B2").Value = Textbox2.Value Range("C2").Value = ComboBox1.Value Range("D2").Value = Textbox3.Value Range("E2").Value = Textbox4.Value Range("F2").Value = Textbox5.Value Range("G2").Value = Textbox6.Value Range("H2").Value = Textbox7.Value Range("I2").Value = Textbox8.Value Range("J2").Value = TextBox9.Value Range("K2").Value = TextBox10.Value Range("L2").Value = TextBox11.Value Range("M2").Value = TextBox12.Value Range("N2").Value = TextBox13.Value Range("O2").Value = TextBox14.Value Range("P2").Value = TextBox15.Value Range("Q2").Value = TextBox16.Value Range("R2").Value = TextBox17.Value Range("S2").Value = TextBox18.Value Range("T2").Value = TextBox19.Value Range("U2").Value = TextBox20.Value Range("V2").Value = TextBox21.Value Range("W2").Value = TextBox22.Value Range("X2").Value = ComboBox2.Value Range("Y2").Value = TextBox23.Value Range("Z2").Value = TextBox24.Value Range("AA2").Value = TextBo25.Value Range("AB2").Value = TextBox26.Value Range("AC2").Value = TextBox27.Value Range("AD2").Value = ComboBox3.Value Range("AE2").Value = TextBox28.Value Range("AF2").Value = TextBox29.Value Range("AG2").Value = TextBox30.Value Range("AH2").Value = TextBox31.Value Range("AI2").Value = TextBox32.Value Range("AJ2").Value = ComboBox4.Value Range("AK2").Value = TextBox33.Value Range("AL2").Value = TextBox34.Value Range("AM2").Value = TextBox35.Value Range("AN2").Value = TextBox36.Value Range("AO2").Value = TextBox37.Value Else MsgBox "未登録番号です" Exit Sub End If End Sub

  • UserFormのTextBoxに入力した値を保存する方法がありますか

    UserFormのTextBoxに入力した値を保存する方法がありますか? 具体的には、UserFormのTextBoxに2010/6/10と入力したときに シートのセルT13に表示されるように以下のマクロを作成しました。 Private Sub CommandButton1_Click() Range("T13").Value = 日付.Value If CloseMode = vbFormControlMenu Then Cancel = True Me.Hide End If End Sub 再度UserFormを開くと前の入力内容があるのですがExcelを保存 して閉じて再度シートを開くと空白になってしまいます。 UserFormを開いたタイミングで出力させたT13の値を返すという ようなマクロにするにはどうしたらよいでしょうか。 初心者なので詳しく教えていただけませんか。

  • エクセルVBAのマクロ文について

    エクセルVBAで、シート上のボタン(フォーム)をクリックすると、UserForm1が表示されてその中のTextBoxに別のシートのセルに入力したいる値を表示させたくて、以下のようにボタン(フォーム)にマクロを入力したのですが、エラーがでてきてうまくいきません。 入力したマクロが間違っているのでしょうか? Sub ボタン1_Click() UserForm1.Show UserForm1.TextBox1 = Sheets("入力").Ranges("D11").Value End Sub すみませんが、ご存知の方、教えてくださいませんか?

  • VBAのTextBoxに今日の日付

    いつもお世話になります。 Windows7 Excell2010 です。 ユーザーフォームのTextBoxには下記のようにマクロを記述しています。 Private Sub UserForm_Initialize() UserForm2.TextBox1.Text = Date End Sub その結果下記のように表示されます。 13/7/16(火) シートのセルにはこのまま入力されるので、 セルの書式 設定で 「mm/dd」にしてもそのままの 「13/7/16(火)」になりす。 ご指導を仰ぎたいのはユーザーフォームのTextBoxで 「07/16」にして最終的にはセルも同じくしたい。 ご協力ください。