• ベストアンサー

エクセルVBAについて

こんにちは ユーザーフォームに入力した数値をあるシートの条件に合うセルに飛ばしてあげたいのですがやり方がわかりません。教えてください。 (1)ユーザーフォームに支払月、支払金額、お客様番号、現場名、摘要(電気代or水道代orガス代)を入力して登録ボタンを押す。 (2)(1)で入力したデータと”シート1”[現場名(列)、摘要(列)、お客様番号(列)、支払月(行)]を調べて合致するセルに支払金額を飛ばす。 わかりづらい文章で申し訳ありませんが、以上のように動かすプログラムを教えてください。お願いします。

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

  • ベストアンサー
  • keiri2002
  • ベストアンサー率34% (46/134)
回答No.2

こん○○は!nobuyukistuさん。 ご質問の意味がイマイチ解らないのですが、テキストボックス等から条件に合ったセルに表示させるという事でいいのでしょうか? これを前提として回答させていただきます。 テキストボックスのオブジェクト名とセルの条件を使って(IF文等で)表示させればいいと思います。 具体的に中々書けないので申し訳ないです。マクロの作り方は、一つ一つ分からない所を質問された方がいいと思います。

その他の回答 (1)

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

VLOOKUP関数と、IF関数を利用すると質問者さんの希望するマクロが作れます。 参考URL(適当にGoogleでHITしたページ)を参照してみてください

参考URL:
http://www.atmarkit.co.jp/fwin2k/win2ktips/317vlookup/vlookup.html

関連するQ&A

  • エクセルVBA条件一致したとき数量加算

    はじまして。最近VBAを勉強するようになり、壁にぶつかりました。      A      B     C    商品名    金額   数量 1   りんご     100    1 2   みかん    110      2 3    りんご    120      1 4   ぶどう     200     3 5     このような表にユーザーフォームを使い入力したいのですが (ユーザーフォームには商品名、金額、数量を入力するテキストボックスがあります。) 例えば次に「りんご 100(金額)  2(数量)」 と入力したときに、セルC1の数値が3になるようにしたいのです。 ようは商品名、金額の両方が一致したときにはそのあてはまる列の数量に加算し、 そうでない場合は下の5列に入力したいのですが、どうすればいいでしょうか。 初めての質問なのでわかりにくかったらすいません。

  • ExcelでVBAにおけるシートの保護に関して・・・

    ユーザーフォームで入力した値がシートのセルに入力 されるというものを作っています。 そこで、シートの列挿入及び列削除を禁止しておきたい のですが、そのままシートを保護してしまうとユーザー フォームが開かなくなるので、VBAにてユーザーフォーム が開く前に保護を解除し、閉じるときに再び保護をかける ようにしました。 ただ、この方法だと、シート保護の項目全て(初期設定) に対して保護されてしまうため、例えば行挿入や行削除、 あるいはオートフィルタや並べ替えといったことまでが 出来なくなってしまいます。(手動で保護を解除すれば できるのですが、一々解除しなければならないのは面倒 なので何とか避けたいのです。) 禁止したいのは、列削除及び列挿入のみなのですが、 他によい方法はないでしょうか。

  • excel vba ユーザーフォーム

    現在、セルa101からa110までに「商品名」、セルb101からb110までに「金額」が 入力済みです。 このデータを、ユーザーフォーム上にコンボボックスを2つ作成し、セルa1へ 商品名を選択後、入力。また、b2へ金額を選択後、入力させたいのです。 また、ユーザーフォーム上にテキストボックスを作成し、ここに入力した 「備考」の全角10文字をc1へ移動したいです。 今のところ、ユーザーフォーム、コンボボックス、テキストボックスを作成した だけで 立ち往生しています。 どなたか、ご教授お願いいたします。

  • エクセルVBA「ユーザーフォーム→セルへの入力」ほか

    エクセルVBA「ユーザーフォーム→セルへの入力」ほか 連日の質問にご回答頂き大変に感謝しております。 昨日投稿したユーザーフォームからのセルへ入力に関する質問です。 下記画像のようなユーザーフォームを作成したのですが、「合計」の数値をワークシートの("コンボボックスの文字列:"「番号(この場合01)」")のセル番地に入るように組みたいのですが、どんなコーディングがよろしいでしょうか。(つまり、画像の場合は「1年2組」列の「01」行に「合計」の値を入力したいのです) さらにもう一点質問致します。 VBAとそうでない部分両方の質問となるのですが、見ての通り私ベルマークを集計するためのブックを作成しています。 ベルマークの枚数を集計する方法が思いつかないのですが、ユーザーフォームを利用して、ベルマーク番号別の「点数別(0.1点・0.2点・・・)枚数」を計算したいのですが、どのようなコーディング、また、シートを作れば良いのでしょうか。お知恵を貸して頂けると幸いです。 以上ご回答いただけるとうれしいです。よろしくお願いします

  • エクセルVBAについて

    エクセルシートのデータ入力でユーザーフォームを作成してみました。テキストボックスを複数用意してそれぞれに顧客名であったり商品名、数量などを入力するものです。 そこで質問がございます。 現在の設定ではリターンキーを押すと「次行」コマンドが有効になり、次行のセルがアクティブになります。なのでマウスでテキストボックスをクリックしないとそれぞれの情報を入力できません。 顧客名から始まり、次に商品名、数量etc.とユーザーフォーム内でリターンキーで移動させる方法はあるのでしょうか。教えてくださいまし。

  • エクセルVBAでの検索

    みなさんこんにちは。私は今仕事で使っているエクセルのデータをVBAを使って簡単にしたい!!と日々パソコンに向かっています。けれどなかなか進まず… 助けてください。 ユーザーフォームのテキストボックスに入力した特定の文字列を、データが載っているシートから検索し、その文字列が入力されているセルの左右のセルのデータをシートの特定の場所に表示させたいのですが。 どなたかお分かりになりますか? 私がやりたいことが上手く説明出来ているのか… スゴク不安なのですが…。説明が下手で申し訳ありません。  皆さんからの回答をお待ちしております。

  • エクセル VBA

    最終行から順番に下へ同列で入力するVBAを教えて下さい。 EXCELのVBAで教えて下さい。 シート1のA列にはB列が入力されると自動入力されるNo.があり、C~G列もB列が入力されると自動入力されます。 B列には日付が、H列には3~4桁の数字が入力したいのですが、 入力行は必ず最下行のセルB、Gな為、VBAでフォームを作成し、 入力実行ボタンを押すことにより、最下行のセルB、Gに反映されるように したいです。 又、上記入力後に、シート2のH~N列をコピーして、シート3のA~G列に値のみの貼り付けを行い保存した後、シート3のA~G列をコピーして csvファイルを作成して保存したいです。 一連の流れを、フォームの入力実行ボタンを押すことで実行したいのですができるのでしょうか? 宜しく御願い致します。

  • エクセル vbaでの相談です

    エクセルでの質問です。 販売管理表を作りたいと思います。 sheet1を商品マスター表とし、下記の見出しがあって A1 JANコード(上一桁4からの番号で13桁) B1 商品コード (14桁) C1 商品名 D1 価格 以下A2行以降、A1行の見出しを元に商品詳細があるとします。 sheet2の下記のA1行を見出しとし、A2行から販売実績をユーザーフォームを使って入力していきたいと思います。 A1 JANコード B1 商品コード C1 商品名 D1 価格 E1 販売番号 フォームを作成し、入力窓に JAN、商品コードのいずれかを入力すると、他の入力窓にsheet1の商品マスター表から該当する商品名、価格を自動入力し登録ボタンを押すと、sheet2の該当セルに反映されるということはできますでしょうか? そして異なる商品のまとめ買いの件数も知りたいので、フォーム上で複数アイテム登録できるようにし、販売番号で件数を管理したいのですが、そちらも可能でしょうか? 販売番号も自動で通し番号が入るようにしたいです。わかりにくい文章で申し訳ありません。ご教授の程、よろしくお願い致します。

  • エクセルVBAで困ってます。

    エクセルVBAで困っています。 データ入力済みのシートが2つあります。 シート名を「Sheet1」「Sheet2」とします。 「Sheet1」のA列のデータが「Sheet2」のA列のデータと一致した時に それぞれのシートのセル番地を取得したいのですが出来ません。 教えて下さい。 データの並び順は「Sheet1」と「Sheet2」で異なります。

  • 連続で印刷 VBA エクセル

    ・シート1のA列に番号が入力されており、B列以降に情報が入力されています。 ・シート2のA1セルに上記に番号を入力すると、B列以降の情報がフォーマットにあわせて表示する様になっています。 ・印刷する場合、A列に番号を入力→印刷を繰り返します。 ○コレをVBAで自動化できないでしょうか?

専門家に質問してみよう