• 締切済み

エクセルのマクロの組み方に詳しい方

エクセルのマクロの組み方に詳しい方はいらっしゃいませんか? 今、売り上げの記入を自動化できるようにマクロを組もうと試みています。 しかし、マクロの本を見てもちんぷんかんぷんです 。 頭の中で考えていることですが… まずデータベースとしてエクセル、またはそれに代用できるファイルに手入力で仕入れの詳細を記入していきます。 これは自分で入力していくので問題ありません。 ここからが問題です。 データベースとは別のエクセルにマクロを登録して、データベースから仕入れ情報を検索したいのです。 例えば… A1商品名、A2重量、A3仕入値…というように項目を作っていきます。 そしてB行に検索したい文字、数値を入力します。 そしてボタン1をクリックすると、B 行に入力した値に一致するデータを行ごとD行に呼び出します。 最後にD行の売上の項目に売上を記入して、更新したD行のデータをシート2、又は別のエクセルファイルに張り付けられるようにしたいです。 データの張り付けを文字のあるセルの最後尾の下の空白のセルに張り付けていけるようにしたいです。 どのようなマクロを組むと良いでしょうか?どのような言語を使うと良いでしょうか? 詳しい方是非是非教えて下さい。。

みんなの回答

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.1

この質問箱だけでそれを例理解するのは困難でしょう。 マクロのVBAはプログラム言語ですから、単なる文法以外にある程度のプログラミングの知識が必要です。 これを数十行で判るように説明するのは困難です。 時間をかけて基礎から勉強されることをお勧めします。 ちなみに私は昔Basic(VBAの元の言語)を勉強していましたが、かなり熱心にやって自分の意思の通りに使えるまでには3ヶ月かかりました。その程度の時間と知識が必要です。 ところでその目的ならば、自動的とはいえませんが、EXCCELのデータ、オートフィルタ機能で抽出だけでも出来るのではないでしょうか。 VBAで苦労する時間を考えれば結局同じ効果が出来ればそれでも良いと思うのですが。 またデータベースの操作はAccessを使えば非常にうまくいきます。 もっともこれもVBA程度にハードルは高いかなと思いますが、一度研究されてはどうでしょうか。

関連するQ&A

  • マクロで作ってほしいのです。

    ある行のセルの決まった文字を検索し他の行のセルに別の文字を入力するマクロを作ってほしいのです。下の例で言えばA列にある"大根"(A5,A7)をさがしD5,D7に"特売日"と入力するマクロを作ってほしいのです。よろしくお願いいたします。

  • エクセル マクロ 入力制限について

    検索で探したのですが、うまくヒットしないため、質問させていただきます。 エクセルのセル入力制限についての質問です。 D1セルが空白でなかったら、A1・B1・C1に入力できないようにする と言う条件です。 それを、D1セルだけでなく、行すべてに適用したいのですが、 (D2 に入力されていたら、A2・B2・C2を入力できなくする) マクロで処理できるでしょうか? マクロ実行は、オープンしたときに実行するようにしたいと考えております。 ご教授お願いします。

  • Excelでマクロを組んで、データを繰り返し抜き出したいのですが

    Excelでマクロを組んで「データ取得→データ並び替え→データ取得・・」と繰り返す作業を自動的に行いたいと思っています。 元データ       一回目     二回目    │A│        │A│      │A│    │列│       │列│     │列│   ─┼─┼─  ──┼─┼  ──┼─┼ 1行 │k │    3行│m│   2行│d │ ──┼─┼─  ──┼─┼  ──┼─┼ 2行 │d │    5行│z │   4行│r │ ──┼─┼─  ──┼─┼  ──┼─┼ 3行 │m │    8行│e │   6行│p │ ──┼─┼─  ──┼─┼  ──┼─┼ 4行 │r │    9行│f │   7行│s │ 例えば、上記の元データのようにデータ(小文字アルファベット)を入力し、その後一回目、二回目・・・とデータの並べ替えを繰り返し、その都度上から二段目のデータのセルのデータ(この場合それぞれz、r)を取得して変数xに収めるという作業を繰り返し自動的に行うようにしたいのですが、「x=Cells(2,1)」とマクロを書くと非表示になっているセルA2のデータ(この場合d)を常に取得してしまいうまくいきません。 これはどのような方法で解決できるのでしょうか。 OSはWindows2000、ExcelはExcel2000を使っています。 よろしくお願いします。

  • エクセル【マクロ】について

    初心者です。 エクセルでシート1のA1からA10まで決めた文字(abc)という文字を検索して、検索文字があるセルの1行をコピーしてシート2のA1から下へ貼り付けるというマクロ(VBA)を作成したいと考えています。 詳しい方、よろしくお願いします。

  • エクセルのマクロでデータを左につめていく

    お世話になります。エクセル2002でマクロを作成しようと思っています。 毎回同じ処理をしているので、良いサンプルがあったら教えてください。 やりたいこと  A列からF列にランダムにデータが入力されています。  このデータをA列、B列、C列と、左に詰め表示させたいです。  ※G列以降にもデータが入力されていますが、処理したい列範囲はA列~F列です。  ※行数は、都度変わります。(UsedRange.Rows.Countで値を取得) イメージ(処理前)  -  : 空白セル  *** : データが入力されているセル     A列   B列  C列  D列  E列   F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 - -   -  *** *** *** 4行目 ***  -   -   -   -   -  5行目 *** *** -   *** -   -  イメージ(処理後)     A列  B列  C列   D列  E列  F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 *** *** *** - -   - 4行目 ***  -   -   -   -   -  5行目 *** *** *** -   -  -

  • Excelでマクロを使用して、列を表示させる質問です。

    Excle2003での質問です。 C3セルからAE78セルまでにデータが入力されています。 C列には項目名・3行には氏名が並んでいます。 D4セルからAE78セルには、 各人に対応する項目に○や△等が記入されています。 (空白セルもあります) A1セルに氏名を記入して(3行目のリストから選択して)、 マクロを実行させると、 1.氏名を一致する氏名の列のみを表示して、 2.オートフィルタで空白以外の行を表示する。 (ただしC列の項目名は表示されたまま) このようなマクロを組みたいのですが、 初心者の私ではまったく分かりませんでした。 どなたかご教授いただけたらと思います。 よろしくお願いいたしますm(_ _)m

  • エクセルVBA初心者です。マクロを組んでください。

    エクセルVBA初心者です。組んで欲しいマクロがあります。 Sheet 1に13桁を入力するセル sheet 2に検索したいデータ 手順としては、 Sheet 1のセルにデータを入力 →13桁以上でマクロが開始(されるように設定します) →Sheet 1のセルと同じ数列をSheet 2の列Aから検索 →該当のセルを含む行をSheet 3にコピー →Sheet 1の入力セルの少し下にもコピー (確認用) というのを一回一回ずつやりたいです。 できれば作業中マウスやキーボードを触りたくないので、そのために、マクロの終わわりには入力セル内の消去、マクロの始まりには確認用でコピーした行の削除もつけて下さい。 検索するSheet 2には同じデータが含まれているので、出来ればひとつずつSheet 3にコピーしたいので組み込んで頂けると幸いです。 よろしくお願いいたします。

  • EXCELのマクロにて

    EXCELのにて連続したデータを入力したデータベースがあります。(行が5000、列がAAまで) このデータベースのデータの最終行だけを指定して違うシートにコピー・貼り付けがしたいのです。 マクロにてこのような作業をするときにはどういった文をかけばよいですか。

  • エクセルマクロ 次のようなプログラム教えてください

    エクセルのマクロで、次のようなことをしたいと思っていますが、 素人でわかりません。 教えていただけますか。 ---------------------------------- o動かしているファイルをa.xlsとします。  a.xlsは、3行目からA列に名前、B列~D列にデータが入っていて、  各行ごとのファイルを作りたい。(行数は決まっていない)  なお、セルE1にある文字が入っている。 o各ファイルは、原紙としてgensi.xlsとして保存されているファイルに、  a.xlsのB~D列のものを入力したものを作りたい。  (B~D列のデータは、gensi.xlsのそれぞれセルC7・C8・C9に入力する)   gensi.xlsは、a.xlsと同じフォルダにあります。 o作成場所は、「C:\date」の中に、セルE1にある文字のフォルダ、A列に  ある名前のフォルダに作りたい。 (セルE1の文字のフォルダは、マクロを初めて実施するときは無いと思います  が、2回目からは存在すると思います。A列の名前のフォルダはマクロ実施時  にはありません。作成するファイル名は、A列の名前と同じ(フォルダ名と同じ).xls にします。) o実行ボタンを3つ作って、1つは今選択されている行のフォルダ・ファイルを作る。  2つ目は数字を入力させて、今選択されている行から入力した数字の行までを一括  で作成する。  3つ目は、3行目から現在入力されている行すべてを一括で作成する。 ------------------------------- 上記のことをしたいと思っています。 よろしくお願いします。 駄文ですみません。 なお、エクセルは古いバージョンでエクセル2000です。

  • エクセル:マクロの話

    エクセルのマクロを使って、以下のことを考えています。 どのようにプログラムを入れればいいですか? (マクロは、ほんの少ーーしだけわかる程度です) 今、1列目(A1~Z1)にある文字が入っているとします。 その中に、「○○」という文字が1つあるとします。 for文を使ってi=1~26にしてA1~Z1までひとつずつ「○○」 という文字が入っているか「検索」し、i+1行目のデータ をB1に入力することを考えています。 全部教えてくれたら大変ありがたいが、とりあえず 「検索」をどのようにするのか教えて欲しいです。 たぶん、if文を使うのかなーーと思っているのですが、 どのように使えばいいのかわかりません。 よろしくお願いします。

専門家に質問してみよう