• ベストアンサー

ユーザーフォーム入力後の値の貼付け方は?

EXCELのVBEでユーザーフォームを作成しました。 テキストボックスに入力した値をEXCELシート上に 反映させるにはどのようにすればいいのでしょうか? EXCELシート上ではセルではなくてやはり テキストボックスに値が入るようにしなくてはできないのでしょうか? 初心者です。教えてください!

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

>マクロのAuto_openのようにフォームを起動させることはできますか? ユーザーフォームのオブジェクト名が UserForm1 として、 ThisWorkbook のコードウインドウに下のコードを書きます。 Bookを保存して、再度開けばユーザーフォーム(UserForm1)が開きます。 ここから   ↓   Private Sub Workbook_Open()     UserForm1.Show   End Sub

pera2cco
質問者

お礼

ありがとうございました! 目的のものを作成することができました! ほんとに大助かりです。 また教えて頂くことがありましたらよろしくお願い致します。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

テキストボックスのプロパティの「LinkedCell」にセル(例えばB3)を指定すると良いのでは。 ExcelVBAなら、Module1に Sub test01() Worksheets("sheet1").TextBox1.LinkedCell = "sheet1!b3" End Sub 「"sheet1!b3"」の書き方に注意。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

Sheet1からユーザーフォームを開くとして、  TextBox1の値をSheet1のセルA1に  TextBox2の値をSheet2のセルB1に反映する場合、 (1)VBE画面でテキストボックスを右クリックしてプロパティを選択。 (2)TextBox1のプロパティのControlSource を A1 に (3)TextBox2のプロパティのControlSource を Sheet2!B1 にします。 これとは別に、CommandButtonをセットして、これをきっかけにシートに反映させることができます。 <例>CommandButtonを押す事で、Sheet1のセルA3に書き込んでいます。 Private Sub CommandButton1_Click()   Worksheets("Sheet1").Range("A3") = TextBox1.Text End Sub

pera2cco
質問者

お礼

ありがとうございます!例の方法でうまくできました! あと、もしよろしければ、このファイルを起動させた時に マクロのAuto_openのようにフォームを起動させることは できますか?追加ですみません。お解かりでしたら教えてください。 よろしくお願い致します。

関連するQ&A

  • ユーザーフォームに入力したデータを保持する方法

    VBA初心者です。いろいろ調べて徐々に進められていますが、、 こちらもなかなか見つからなかったので質問させていただきます。 現在、ユーザーフォームにテキストボックスをいくつか配置し、 さまざまな計算などをさせて、最終的にエクセルシートに反映させる。 といったことが出来るようにプログラムをしています。 ユーザーフォームのテキストボックスに一度入力したものを、 エクセルシートを閉じるまで残すことはできるでしょうか? 一度、×ボタンで閉じてしまうと、次に呼び出したときには初期の状態になってしまいます。 ユーザーフォームに入力し、エクセルシートで確認、 その後 再度ユーザーフォーム呼び出して修正する といった作業をするために、一度入力したものが消えないようにしたいです。 よろしくお願いいたします。

  • テキストボックスへにセル値の入力

    エクセルマクロの初心者で恐縮なのですが、ユーザーフォームのテキストボックスに下記のようなことは可能でしょうか? 例1)ユーザーフォーム上にある「テキストボックス」に「オプションボタン1」を選択するとワークシートのセル値を入力(反映)することは可能でしょうか? 例2)次に、「オプションボタン2」を選択すると、例1でテキストボックスに入力(反映)した値を消去し、かつ、このテキストボックスに数値を直接入力したら、ワークシートの別セルに入力した数値が反映されるようにすることは可能でしょうか? 例1・2)についてどのようなマクロを組めばよいのでしょうか? マクロにお詳しい方、大変申し訳ございませんか、ご指導お願いいたします。

  • ユーザーフォームの値を指定のセルに入力

    エクセルのシート上のフォームで リストのボックスの値を上下キーで値を選択エンターキーで選択した値をシートの指定したセルに入力 フォームを閉じる このようなことをさせたいのですが どのようにすればよいでしょうか よろしくお願いいたします。

  • VBAユーザーフォームで

     エクセルVBAでユーザーフォームより、テキストボックスで入力させたものをセルに表示させようとしています。  テキストボックスは1と2があり、テキストボックス1で入力した値の最初の5文字+固定値をテキストボックス2に自動で入力(表示)したいのですがなかなかうまくいきません。(自動入力後、手動で一部修正します。)  VBAをはじめたばかりの初心者ですが、どうぞよろしくお願いします。

  • エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。

    表題の通りで、エクセルユーザーフォームにチェックボックスを作成し、そのCaptionにセルの値を入れたい場合、どのようにすればいいのでしょうか。 つまり、シートのセルの値が変われば、ユーザーフォームのチェックボックスの文字が変わっているようにしたいのです。 エクセル2003です。 よろしくお願い致します。

  • ユーザフォーム(VBA)で入力した内容をシートへコピーするには

    ユーザフォーム(VBA)でテキストボックスとボタンを作成しました。 このテキストボックスに入力した内容をボタンを押すことでシート1のA1セルにコピーしたいのです。こんな簡単な感じなのですが、 プログラムはどのようにしたらよいのでしょうか?教えてください。 それと、このエクセルファイルを開き、マクロを有効にするのボタンを押すと思うのですが、そのときにすでにユーザフォームが表示されているようにしたいのですが・・・どうすればいいのでしょうか? ※できたらでよいのですが、もう一つボタンを作成し『クリア』ボタンということで、テキストボックスに入力した内容だけをクリアさせるボタンも作ろうとおもうのですが、それはどうしたらよいのでしょうか? 困っています。教えてください。

  • セルの値をユーザーフォームのテキストボックスに

    エクセルの質問です。 シート1にボタンを設置してユーザーフォームを呼び出すようにしています。 ユーザーフォームにテキストボックスを用意してて、シート1のセル(A1)に記入された数字を、ボタンを押した時に立ち上がったユーザーフォームのテキストボックスに表示されるようにしたいのですが、どうしたらいいのでしょうか?

  • エクセルVBAマクロで、一度テキストポックスに入力した値がコピーされて

    エクセルVBAマクロで、一度テキストポックスに入力した値がコピーされてしまう VBAマクロ初心者です。 エクセルVBAマクロで、以下の様なプログラムを作成し計算させていますが、 一度入力した値がテキストポックスに残ってしまい、なんとかならないかなと 思っています。 (1)複数シートにそれぞれコマンドボタンを配置し、クリックすると同じユーザー フォームが立ち上がるようになっています。 (2)そのユーザーフォーム内に、テキストボックスが複数あり、それぞれ値を入力 して計算スタートさせると、ワークシートの1行目から数千行目まで計算して 各行に計算結果を表示します。 (計算は、既に各行に入力済みのデータとこのテキストボックスの値を元に算出されます) (3)次に、別のシートでコマンドボタンをクリックし、ユーザーフォームを立ち上げると、 前のシートで入力した値がそのまま各テキストボックスに入ってしまいます。 (これは、必ず起こる訳ではなく、時々起こるのですが、起こる場合は、コマンドボタン をクリックしてからユーザーフォームが立ち上がるまでの時間が若干短い感じがします) ※一度、上記の計算をさせるとテキストボックスの値がそのシートの特定のセルに入り、 次回ユーザーフォームを立ち上げた際に、テキストボックスに入るようになっています。 (Private Sub UserForm Initialize を使っています) パソコンの構造を、私はよく知らないのですが、おそらく、一度テキストボックスに値 を入力して計算させると、どこかのメモリにそれが残っていて、次にユーザーフォーム を立ち上げた際にそれが入ってしまうのかな、と思っています。 (ただし、もし前の値が入ってしまったとしても、一度そのユーザーフォームを消して から、再度立ち上げると、正常な値(そのシートの特定のセルを参照)が必ず入ります) 何か、プログラムにより、このメモリ?を消す?、あるいはうまく解決する方法など 考えられませんでしょうか? もし、詳しい方がおられましたら、御教示いただけませんでしょうか。 よろしくお願いいたします。

  • ユーザーフォームのコンボボックス

    エクセルのユーザーフォームでの質問です。 コンボボックスの項目についてsheet2のB2~B10を選択したいのですが、このユーザーフォームはsheet1で使うもので、プロパティのrowsource欄にセルを選択できません(やり方が分かりません)。 どう入力したら別シートのセルをコンボボックスに反映出来るのでしょうか??

  • VBE、ユーザーフォームに関して質問があります。VBAを知って1カ月に

    VBE、ユーザーフォームに関して質問があります。VBAを知って1カ月に満たない初心者です。 ユーザーフォームでテキストボックスとコマンドボタンを1つずつ作りました。コマンドボタンを押すとテキストボックスに入れた文字・値がセルB1に入力されるようにしました。続けてテキストボックスに文字・値を入力し、コマンドボタンを押すとB2に入力されるようにしています。 ここからが質問なのですが、 コマンドボタンを押したときにA1に番号を順にふり、さらにセルを罫線で囲みたいのです。図で示すと、  A   B        A   B  _ ___      _ ___  |1|りんご| ⇒ |1|りんご|  - ---      - ---               |2|みかん|                - ---   このような感じです。また、外枠のみを太線にするということが可能であればその方法も教えて下さい。

専門家に質問してみよう