• 締切済み

ExcelのVBAで作りたいんです

Excelのマクロで以下のようなものを作りたいのですが、調べても適当なものが見つからず、どのようなコードを書いたらいいのか分からないので有識者の方のお力をお貸しください。 Sheet1に検索ワードが入力された表を作成しておきます。(表自体は数十行程度で1列だけ) Sheet2にSheet1に書かれている検索ワードがあるかどうかを調べて、該当した場合にはその行を削除する。 もしくは別シートに移動する。 この作業をSheet1の検索ワード行数分自動で処理する。 Sheet2は数百行程度で複数列ありますが、検索ワードが該当さえすれば削除(移動)してしまって構いません。 また、話は変わりますがこのようなものも作りたいのです・・・。 CSVからの整形用マクロがあるのですが、整形処理が終了したら整形済みのシート(例としてSheet2~5)から1つのシートにまとめたい(Sheet1へ)と思っているのですが、データがどこまで入力されているか(Sheet2~5に)の判断と、Sheet1へのコピーでSheet1にどの行までデータが入っていてどの行から追加すればいいのかをお教えください。

noname#56568
noname#56568

みんなの回答

  • NCU
  • ベストアンサー率10% (32/318)
回答No.1

> Sheet2にSheet1に書かれている検索ワードがあるかどうかを調べて、 Find メソッドでどうぞ。 > データがどこまで入力されているか(Sheet2~5に)の判断 例えばワークシートのCountA関数をシート全体に使う、とか。 > Sheet1にどの行までデータが入っていてどの行から追加すればいいのか End(xlUp) とか。

noname#56568
質問者

お礼

回答ありがとうございました。 自己解決できそうなので締めます。

関連するQ&A

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

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

  • Excel VBAについて

    UserFormからデータ(氏名、生年月日・・)を入力し、「登録」ボタンをクリックすると Sheet2に入力データを上から(1行目、2行目・・)格納していきます。 そして、Sheet1上に作成した「印刷」ボタンをクリックすると、Sheet2で順に格納されたデータをある定められたフォーマットで両面印刷(表に1行目のデータ、裏に2行目のデータ)できるようにしたいのですが、可能でしょうか。

  • エクセルで抽出データを削除修正する方法

    エクセル2003で在庫管理を行おうと思います。 シートBに管理番号の他に個別データを入力し、シートA上に入力した管理番号でシートB上の該当データを抽出、シートA上の一覧表に表示させるようにしたいと思います。 シートAに入力した管理番号でシートB中の中からLOOKUPで指定条件に該当するデータを抽出、リンク貼り付けで一覧表(シートA)に表示させる方法です。 該当データをシートAで確認後、売却や修正判断し、シートBのデータを削除又は修正を行いたいと考えております。また新規データ追加をシートA上からシートB最終行に追加したいと考えております。 BVAなら可能な気もしますが、まだ勉強中で役に立たず、関数での処理方法をお願いします。 質問1 シートB上で検索を掛ける方法もあるでしょうが、シートA上で削除又は修正できないでしょう       か?又はシートA上から目標のシートB該当行にジャンプする方法 質問2 シートA上からシートB上の最終行に新規データを追加又はシートAから最終行にジャンプする方法 以上、よろしくお願いします。

  • エクセル マクロ VBA

    エクセルのマクロについて質問いたします。 下記のステップ1からステップ2を一発で行うマクロ文は、 どのようになりますか? 教えてください。 <ステップ1> あるシートのB列に『AAA』という文字を含んでいる行があったら その行は丸ごと削除する。 また、『AAA』という文字を含んでいなかったら、 エラーなどが出ないで、次のステップ2の処理に移る。 <ステップ2> ステップ1と同じシートのC列に、『B』という文字を含んでいる行があったらその行は丸ごと削除する。 ※この”『B』という文字を含んでいる”という意味は、 『B-』や”『B5』と入力されている場合も含めるということです。 また、『B』という文字を含んでいなかったらエラーなどが出ないこと。

  • ExcelのVBAについて

    ExcelのVBAについて VBA全くの初心者です。 以下のような処理を行いたいのですが、どなたかご教授をお願いします。 以下のように支店(1)~(3)のシートがあります。 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、   一致しない行を不一致データシートに出力する もう一つ別のマクロで、 1.入力シートに調べたい商品No・商品名・備考を入力する(複数行あり) 2.マクロを実行すると、商品Noを検索対象として支店(1)~(3)シートをチェックし、、   一致する行を一致データシートに出力し、D列に対象データがあるシート名を表示する   ※可能でしたら、E列に対象データがある行番号も表示する -------------------------------- シート名:支店(1) A      B     C 商品No   商品名   備考 011    商品A   備考A 009    商品B   備考B 015    商品C   備考C -------------------------------- シート名:支店(2) A      B     C 商品No   商品名   備考 008    商品A   備考A 023    商品B   備考B 004    商品C   備考C -------------------------------- シート名:支店(3) A      B     C 商品No   商品名   備考 007    商品A   備考A 033    商品B   備考B 018    商品C   備考C -------------------------------- シート名:入力シート A      B     C 商品No   商品名   備考 ※ここに複数行入力する -------------------------------- シート名:不一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される -------------------------------- シート名:一致データシート A      B     C 商品No   商品名   備考 ※ここに出力される

  • excelマクロの処理を早くしたいのですが!良い知恵ある方お願いします。

    excelマクロはここ半年位やっています。 あるマクロ(VBA)を作ったのですが、表が大き過ぎて思うような処理スピードが出ません。ハードは富士通FMV6750CL7Sで750MのCPU速度です。OSはWINDOWS2000を使っています。環境的には問題が無いと思っています。 何か良い知恵がある方いらっしゃれば宜しくお願い致します。 (内容) sheet1・sheet2・sheet3にそれぞれ、3000行の表があります。 三つの表には、受注番号と言う名前の識別項目が、それぞれ1列だけ用意されています。表は受注番号順にソートしています。 マクロはsheet1のある行の受注番号を見て、それと同じ受注番号をsheet2から検索して、該当する行を求めます。次にsheet2の受注番号からsheet3の受注番号を検索して、該当する行を求めます。 (実際にはもうちょっと複雑ですが・・・) 遅い部分を調べて見ますと、3000行の表から該当する行を検索する部分に時間が掛かっている所までは分かっています。 先頭行から順じ見に行って該当する行が見つかったら検索終了するようにはしています。 また、データの存在しない行を見に言ってはいないようです。 (検索部分はこんな感じです) For Each objA In Worksheets(Sheet2).[A:A]   If objA.Text Like 受注番号 Then    intStr = objA.Row   End If   If objA.Text > 受注番号 OR objA.Text = ""Then    Exit For   End If Next Accessなどのデータベースを使えと言われそうですが、excel内で処理すると言う絶対条件がありますので、苦慮しております。 このようなご経験のある方宜しくお願い致します。

  • エクセルで絞込み検索をしたいのですが。

    エクセルで絞込み検索ができないものかと頑張っているのですが知識が足りずできません。 具体的にどういった動作をさせたいかというと、画像を参照していただき、、 ”お客様登録シート”側にそれぞれ情報を登録して、そのデータを”入力シート”側の赤く塗りつぶしたセルそれぞれに検索結果を表示させたいのです。 黄色く塗りつぶしたセルに検索ワードを入力して検索。 登録年月日、又はフレームNo、もしくはその両方に該当する行の情報を出したい、ということです。 そのような、絞込み検索かつ指定した複数のセルにそれぞれの結果を表示させることは可能なのでしょうか? できれば関数でしたいのですが、マクロでないとできないということであればその方法を教えていただきたいです。 関数は少々かじっている程度。 マクロについてはほぼ初心者です。 文才もなく伝わりにくい説明かと思いますが、わかりやすいご回答をよろしくお願いします。

  • Excel VBA Sheet2で指定した条件でSheet1の行削除

    Sheetが2つあるExcelブックがあります。 Sheet2で検索条件(列とキーワード)を指定し、 この条件でSheet1を検索、 Sheet1で検索にヒットした行を行削除したいと考えています。 汎用性を高める為、Sheet2で指定する検索条件は可変とし、 検索対象とする列とキーワードは任意のものを必ず指定(""は無し)。 列&キーワードをひとつの検索条件として、 Sheet2の2行目~最終行までLoopしたいのです。 InStrを使用するなど、部分的には分かるのですが、 2つの条件を同時に変えながらLoopさせる方法が 色々試してみましたが、どうしても分かりません。 VBAに詳しい方、同様の処理をしたことがある方、 どうか助けてください!宜しく御願い致します。 [Sheet1] ・・・ 元データ     A   B   C ---------------------------- 1   あ ---------------------------- 2   い   該当 ---------------------------- 3   う       閉鎖 ---------------------------- 4   え   該当 ---------------------------- 5   お ---------------------------- [Sheet2] ・・・ 行削除する範囲とキーワードを指定。     A   B ---------------------------- 1   列   キーワード ---------------------------- 2   A   あ ---------------------------- 3   B   該当 ---------------------------- 4   C   閉鎖 ---------------------------- [求めている結果] 1, 2, 3, 4行目が削除される

  • VBA 結合行を削除したときに値を残したい

    以下の様な処理をVBAで行いたいのですが、セルの内容が消えてしまいます。どうすればよいか教えてください  A列に商品タイプがあり、B列に商品名が入力されている。  1つの商品タイプは複数の商品があるため、A列は数行単位で結合されている。  今、マクロで特定商品の行だけを別のシートにコピーしたい。    そこで、   シート全体をコピーし   コピーしたシート上で該当商品を含まない行を削除  するマクロを作成しました。  しかし、商品タイプの列が結合されているため、商品タイプの1行目を削除してしまうと  新しいシート上でA列が空欄になってしまいます。  該当行のみコピーすることも考えましたが、   商品を抜き出す表以外はそのままコピーする(この方が情報量は多い)ため、上記の方法   を考えました。    何か良い方法はないでしょうか。  よろしくお願い申し上げます 

  • EXCELの計算式がこわれる(?)

    EXCELを教えてください。 [問題の表] ブック内にワークシートを3枚つくり、 1枚目にA~Sまで、1300行程度の表を作成 2枚目に1枚目から品目毎の値引金額抽出(SUMIF) 3枚目に1枚目から得意先毎の売上、原価抽出(SUMIF) しています。 1枚目は別の表よりデータを貼り付け、使いやすいように マクロを使って、移動・削除をしています。 (マクロは分からないので新規マクロ作成で作りました) [問題の起こるとき] 1枚目のマクロを実行すると、2,3枚目の計算式のSUMIFで 指定している列がおかしくなってしまいます。 マクロ実行後の行、列を参照して2,3枚目は集計して欲しい ときは、どういった対処をすれば良いでしょうか? EXCELには詳しくなく、マクロも分かりませんが、どなたか教えてください。 よろしくお願いします。

専門家に質問してみよう