• ベストアンサー

テキストボックスの値をExcelシートに反映

ユーザーフォームのテキストボックス2個の値がExcelシート1の値にマッチしたらそのシート1の値が任意の値に変換される。VBA初心者ですご教授のほどよろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

昨日から拝見していましたが、なかなか回答がつかないようですので、一言 1、A列の値が、テキストボックス1と同じ行のE列を Cにする。   同様に テキストボックス2と同じだったら Dにする。   ということですか。 2、そのプログラムを走らせるタイミングは?   もうひとつ、フォーム上に ボタンを配置して、ボタンをクリックすることで   実行させる でよいですか。 フォーム上にボタンを配置して Private Sub CommandButton1_Click() For i = 1 To Range("A" & Cells.Rows.Count).End(xlUp).Row  If Range("A" & i).Value = TextBox1.Value Then   Range("E" & i).Value = "C"  End If  If Range("A" & i).Value = TextBox2.Value Then   Range("E" & i).Value = "D"  End If Next End Sub では如何でしょうか For i=1 to~~ は、1行目から、A列の最後の行まで繰り返しの意味です Range("A" & Cells.Rows.Count).End(xlUp).Row は、A列の最後の行番号を得るための式です。 A列の一番下から上へ移動してデータが入っている行の行番号を取り出します。 しばしはお付き合いできますので、不明な個所あれば、捕捉ででも追記してください。

kuma0220
質問者

お礼

有難うございます。

関連するQ&A

  • テキストボックスの値をセルに反映させたい。

    はじめまして、いつもお世話になっております。 EXCEL VBAの質問です。 下記(1)(2)の質問にお答えいただきたく、お願いいたします。 (1)ユーザーフォームのテキストボックスの値をEXCELのデータが入力されている 最終行の下の空白にユーザーフォームのボタンをクリックして反映。 (2)(1)の逆で特定のセルの値をユーザーフォームのテキストボックスに反映。 色々なサイトのプロシージャをコピペしましたが、うまくいきません。 見づらいかもしれませんが、ユーザーフォームの画像を添付します。 皆様、よろしくお願いいたします。

  • フォームのテキストボックスの値をコピーしたい

    excel-vba初心者です。教えてください。 フォームのテキストボックスで表示した値を コマンドボタンでコピーするにはどうすればいいですか?

  • エクセルで、任意のテキストボックス等にフォーカスを移したい

    すいません、またまた質問です。 エクセルXPで、ユーザーフォーム上に 複数のテキストボックスやリストボックスを 置いて入力した値が任意のシートのセルに 入力されるというものを作っています。 (しかしながらVBAがほとんど見様見真似レベル なのでかなり悪戦苦闘(~_~*)) そこで、ユーザーフォームにて例えばTEXTBOX1に 入力後、Enterで次のテキストボックス(又は リストボックス)にフォーカスを移したいのですが、 その時に任意のテキストボックス等にフォーカスを 移すことは可能でしょうか。 番号順(なのかな?)に自動でフォーカスを 移動させることはできたのですが、任意の対象へ 移動させるやり方とかってあるのでしょうか。 例えばTEXTBOX1からRISTBOX5へ移すとか。 入力する順番に移動できたらユーザーフォーム上での 入力作業が非常に楽になると思って(^o^;) どうぞよろしくお願いします。

  • セルの値をテキストボックスに表示したい

    excel-vba初心者です。教えてください。 選択したセルと同じ行の別の列のセルの値をフォームの テキストボックスに表示する方法を教えてください。

  • [C#]テキストボックスに入力した値を、ツリービューに反映させたい

    [C#]テキストボックスに入力した値を、ツリービューに反映させたい C#初心者です。 あるアプリを作っていて、テキストボックスにユーザーが任意の数字を入力し、 ボタンをクリックすると、Treeviewのある位置に反映されるというものです。 説明が抽象的で申し訳ありませんが、ご教授願います。 宜しくお願いいたします。

  • ユーザーフォームのテキストボックスの内の値を検索する方法

    エクセルVBAのユーザフォームでテキストボックス内の値を検索したいのですが、どのように書いたら検索できるかわかりません。 検索をできるかもわかりません。 ※ユーザフォームの値はセルにセットしない形でお願いします。  直接テキストボックスの値を検索したいです。  検索の結果として返ってくる値は特になんでもいいです。 ご存知でしたらよろしくおねがいいたします。

  • EXCEL VBAについて、ワークシート上に置いたTextBoxに値を入れる方法について

    すいませんEXCEL VBAについて質問があります。 エクセルのワークシート上にコントロールツールボックスから テキストボックスを2つ、コマンドボタンを1つ設置する。 アクティブになっているテキストボックスに”goo”という値を入れる。 これをVBAで処理するにはどうしたらよろしいのでしょうか。 ユーザーフォームのテキストボックスであれば Private Sub CommandButton1_Click() Dim i As Object Set i = ActiveControl If TypeOf i Is MSForms.TextBox Then i.Text = i.Text & "goo" End If Set i = Nothing End Sub これでできるはずですが、シート上に置くテキストボックスだと うまくいきません。 よろしくお願いいたします。

  • アクセスのフォームでテキストボックスを順番に選択

    任意の名前がついたテキストボックスがあります。 これをVBAを使い、1つずつ選択することは可能でしょうか? 例えばエクセルのシートだったら Sheets(1) みたいな感じで数字も使えますが、アクセスのフォームではできないのでしょうか? さらに取得していったテキストボックスの値を取得、ということもしたいです。 Access2000です。

  • エクセルマクロ_テキストボックスをシートに反映

    エクセルマクロ初心者です。(2003使用_ユーザーフォーム) ユーザーフォームにリストボックスとテキストボックスを配置しています。リストボックス(Sheet1データを反映)の管理番号データを取得し、Sheet2のA1最終行に記載するところまではできました。 その後、もしテキストボックス1に日付型データ(回答日)があれば、先ほどの管理番号取得行の列のとなり(B列)に記載、空白であれば記載しない。 もしテキストボックス2に日付型データ(出荷予定日)があれば、先ほどの管理番号取得行の列のとなり(C列)に記載、空白であれば記載しない。 もしテキストボックス3にデータ(数量)があれば、先ほどの管理番号取得行の列のとなり(C列)に記載、空白であれば記載しない。 としたいのですが、offsetを使おうとしたのですが、うまくできませんでした。 すみませんが、どなたかご親切な方ご教授よろしくお願いいたします。 (エクセルSheet1=データベース) C5  D5 管理番号   品名       アカ12    りんご       アオ56    みかん       クロ34    なし       クロ89    すいか       アオ12    もも (エクセルSheet2=記入シート) 管理番号 回答日      出荷予定日 数量 アカ12 9月20日       9月23日 100 アオ56            9月21日 800 ↑回答日の記載はない場合もあります。 リストボックス1で選んだ管理番号取得行に一行に内容を表示させたいと思っています。 Private Sub UserForm_Initialize() With ListBox1 .ColumnWidths = "0;0;50;50" .ColumnCount = 4 .RowSource = "Sheet1!A5:D" & Worksheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row End With End Sub Private Sub CommandButton1_Click() Dim lRow As Long With Worksheets("Sheet2") lRow = .Range("A" & Rows.Count).End(xlUp).Row .Range("A" & lRow + 1).Value = ListBox1.List(ListBox1.ListIndex, 2) End With (ユーザーフォーム配置)   リストボックス1   テキストボックス1(回答日=9/20)   テキストボックス2(出荷予定日=9/21) テキストボックス3(数量=900)  テキストボックス4(コメント=送り先一部変更あり) すみませんが、どなたかご親切な方ご教授よろしくお願いいたします。

  • シート2の値をシート1に反映

    コマンドの入力ボタンでExcel sheet2の値(マーク)をsheet1へ反映したいのですがその際、事前に手入力している▼、●を消さずに氏名、日付がマッチしたところにマークを入力されるコードがありましたらご教授のほどよろしくお願いします。

専門家に質問してみよう