• 締切済み

EXCELで入金処理を!(出直してみました)

受注No. - 枝番 現場名  入金日 A12300 - 01 佐藤様  07/05/05 A12500 - 01 田中様       A12300 - 02 佐藤様       D14600 - 01 木村様  07/05/03 A14700 - 01 松本様         (excelワークシート) 以上のようなデータベースから No.がA12300かつ枝番が02を抽出し、"佐藤様"を呼び出す方法を教えてください。このデータベースは次々と追加されていきます。 excelで作ってます。No.(No)と枝番(eda)をそれぞれユーザーフォームのテキストボックスに入力し検索ボタン(Sarch)を押してサーチし、抽出された値をユーザーフォームのラベル(genba)に表示し、また、入金日(Hiduke)をテキストボックスに入力して登録ボタン(Touroku)を押すと入力された日付がワークシートの該当するセルに反映されるようにしたいのですが。 説明が下手ですみません。 自分なりに頑張って書きましたので宜しくお願いします。

noname#35077
noname#35077

みんなの回答

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

#1さんのことですべてが解決しますが、参考までにVBAのコードを... ※結構適当書いたので、使用するなら確認しながら使ってくださいw Option Explicit Private Sub Search_Click()      Dim strNo As String, strEda As String   Dim searchString As String      strNo = Me.No.Text   strEda = Me.Eda.Text   searchString = strNo & "-" & strEda      Dim searchSheet As Excel.Worksheet   Dim searchRange As Excel.Range   Set searchSheet = Worksheets("Sheet2")   Set searchRange = searchSheet.Range("A:A")      Dim resultRange As Excel.Range   Set resultRange = searchRange.Find(searchString, LookIn:=xlValues)      If Not resultRange Is Nothing Then     searchSheet.Cells(resultRange.Row, resultRange.Column).Activate     Me.Genba.Caption = searchSheet.Cells(resultRange.Row, resultRange.Column + 1).Text   End If      Set resultRange = Nothing   Set searchRange = Nothing   Set searchSheet = Nothing    End Sub Private Sub Touroku_Click()      If Not IsDate(Me.Hiduke) Then     MsgBox "入金日を入力してください( ゜д゜)", vbExclamation     Me.Hiduke.SetFocus     Exit Sub   End If      Dim tourokuDate As Date   tourokuDate = CDate(Me.Hiduke.Text)      Dim searchSheet As Excel.Worksheet   Set searchSheet = Worksheets("Sheet2")      searchSheet.Cells(ActiveCell.Row, ActiveCell.Column + 2).Value = tourokuDate      Set searchSheet = Nothing    End Sub

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.1

既存の表に「入金日」を簡単に入力したい、ということでしょうか? ご質問文にユーザーフォームとありますので、マクロを使用されていると思いますが、「データ」の「フォーム」から簡単に検索・入力ができます。

関連するQ&A

  • エクセルVBAを用いてログインページを作りたいです

    ログイン用のフォームには,名前とパスワードを入力するテキストボックスとログインボタンが配置されているとします. また,エクセルのAという名前のシート上には,名前とパスワードのデータベースが存在するとします. 例えば,名前が佐藤,パスワードがabcdefの人が存在したとします. この人がログイン用のフォームに入力を行った際に,入力内容がデータベースと一致し,正しければ佐藤という名前のシートへと遷移し,かつ他の項目を入力するための別のフォーム(ここでは仮にFというフォームとする)にも遷移するようなコードを書きたいのですが,どなたか御教示ください.よろしくお願いします.

  • Excelユーザーフォームでのデータ検索

    初心者の質問で申し訳ございません。 ユーザーフォームを利用して検索ボタンを作ろうと考えています。 ユーザーフォームでテキストボックスを2個と コマンドボタン1個を作成し、 テキストボックス1に検索したい氏名を入力して コマンドボタンを押すと、 ワークシート(ワークシート名、データ)に作成されたデータのD列から 一致するものを検索し、 一致したデータのA列にある「番号」をテキストボックス2、 表示する。 というマクロが書けず困っています。 よろしくお願いします。

  • EXCEL ユーザーフォームを使ったマクロ

    データの登録をするのにユーザーフォームを使おうと思うのですが、なかなかうまくいきません。教えてください。 ユーザーフォームにはコンボボックス、テキストボックス、コマンドボタンが貼り付けてあります。(コンボボックスのリストには呼び出したいシートの名前が入っています) コンボボックスのリストの中から呼び出したいシートを選択し、テキストボックスに入力した内容を、コマンドボタンを押すことで選択されたシート上の、あるセルに登録したいのですがどうすればよいでしょうか?

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

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

  • フォームで入力した内容をクエリに反映させる方法

    Accessについて教えていただければと思います。 会社のシステムのデータベースにリンクし、Accessのツールを作っています。 複数のテーブルでクエリを作り、フォームに条件指定し表示させるところまで進んでいます。(DLookUpを使っています。) このフォームに、非連結のテキストボックスを追加し、条件入力で表示された内容に、テキストボックスで入力した内容を合わせ、テーブルもしくは、クエリに保存しておきたいのですが、うまくいきません。 構成は、 Aテーブル:伝票番号、得意先 Bテーブル:伝票番号、枝番、数量 ABクエリ:伝票番号、枝番、数量、得意先 Cフォーム:伝票番号+枝番を入力し、数量、得意先を表示      配送個口数をテキストボックスに入力 Cフォームのすべての項目をのちに呼び出せるように保存しておきたいのです。 配送個口数を入力すると、枝番に関係なく、同じ伝票番号〈複数〉に登録。という形は(一時)できたのですが、枝番で絞り込めず困っています。 VBAもあまり得意ではないので、わかりやすくご指導いただければと思います。 どれだけの情報が必要かも分からないので、とりあえず、この状態で投稿いたします。 長くなりましたが、よろしくお願いいたします。

  • エクセルのユーザーフォームの日付を和暦で表示したい

    いつもお世話になります。 エクセルのユーザーフォーム作成に初めて挑戦しております。 ワークシートに日付の元データがあり、ユーザフォームにテキストボックスを配置しその日付データを表示させています。(例:2006/8/3) やりたいことは、そのユーザーフォームにもうひとつ別のテキストボックスを作成し上記の日付データを和暦で自動的に表示させたいのです。(例:上記のテキストボックスが2006/8/3の場合、こちらのテキストボックスはH18.8.3と表示) 初心者ですが、よろしくお願いします。

  • エクセルシートから検索

    カテゴリー違いかもしれませんが エクセルVBAのユーザーフォームを使用して テキストボックスへ入力したデータを指定のシートから検索し、 同じユーザーフォームへ希望のデータ(検索値の同行)を表示させるということはできるのでしょうか。 また、入力した文字と一致したもの全てをということも出来るでしょうか。 例 Aのテキストボックスに、検索したい文字を入れる 一致したデータ全ての行の情報を B以降のフォームへ表示させる 説明がわかりにくいとは思いますが 宜しくお願い致します。

  • VBA フォームのテキストボックス 1文字検索

    お世話になります。 フォーム上にあるテキストボックスに 文字列を入力したら、リスト?が出るようにしたいです。 シート1のA列に名前リストがあり、 そのリストを参照して、1文字入力したら候補が表示されるよう 組みたいと思っています。 シート1 田中 麻美 佐藤 たける 加藤 美佐 佐々木 瞳 竹井 まどか 木村 かりん 木村 ひろし 佐藤 圭 菊地 美優 田中 麻美 佐藤 たける 加藤 美佐 佐々木 瞳 竹井 まどか 木村 かりん 木村 ひろし 佐藤 圭 菊地 美優 ------------- 上記のようなリストがあったとします。 (リスト内で必ず重複します。) 木 と入力したら、 木村かりん、木村ひろし という候補が出て欲しいと思っています。 http://d.hatena.ne.jp/language_and_engineering/20081125/1227571724 ワークシート上でのプログラムは 上記リンクを参考にすればできるかとは思うのですが、 フォーム上ではできないでしょうか? また、コンボボックスならやり方は何となくわかりますが、 どうしても、テキストボックスでやりたいと思っています。 テキストボックスでも可能かどうか、教えて下さい!

  • エクセルVBAユーザーフォーム

    ユーザーフォームに入力後ワークシートへ転記されるのですが、そのカーソルがワークシート側に行ってしまいます。連続して入力したいのですが、ユーザーフォームにもどるようにするにはどうしたらよいのでしょうか? 教えて下さい。よろしくお願いいたします

  • エクセル 

    フォームを作成し、そこで入力したものをシート2へ入力されるものを作りました。 テキストボックス1に入力したものは、A1へ、テキストボックス2に入力したものはB1へ・・・というような感じです。 お聞きしたいのは、2回目以降にフォームを使って入力した時、下記の式では、A1、B1に上書きされてします。 これを、2回目はA2、B2・・・のように、下方に蓄積していくには、どんな式に変更したらよいでしょうか。 教えてください。 Private Sub CommandButton1_Click() Sheet2.Range("A1") = TextBox1 Sheet2.Range("B1") = TextBox2 Sheet2.Range("C1") = TextBox3 Sheet2.Range("D1") = TextBox4 Sheet2.Range("E1") = TextBox5 Unload Me End Sub

専門家に質問してみよう