• 締切済み

マクロについて教えてください

エクセルで作った表のマクロを作りたいと思っています。 抽出した新規のデータと更新データを比較して、 重複することのないデータを作りたいのです。 抽出したデータのファイル名は、どちらも「EXCELデータ」となっています。 シート名はどちらも「データ」です。 表はどちらのシートとも、A列からJ列まであります。 (データの並び順は同じです。) 両方のシートから、下記1~3の条件のデータを取り出して、 新しいシートに書き出したいと思っています。 A     B   C     D      E    F    G     H   I    J 番号 名前 区分 ジャンル 決定日 締切日 コード 社名 価格 区分 1 C列とG列を削除する 2 J列に「1」が記入してあるものを抽出する 3 B列に「初回」と言う文字が含まれているものを、抽出する。 新規分と更新分のデータをA列で比較し、 重複しているものについては色をつける。 というようなものを作りたいのです。 出来れば、ファイルやシートの名前を変えないで作りたいのですが、 変更をすることも可能です。 どなたか教えてください。宜しくお願いします。

みんなの回答

noname#192382
noname#192382
回答No.4

No3の追加です。 次の段階 二つのシートのデータを一緒にしてならへ替えをした後下記のVBAを実行すると同じ番号のデータだけ黄色になります。このプログラムの繰り返し回数は適宜変更してください。 sub Macro4() ' ' Macro4 Macro ' マクロ記録日 : 2006/1/12 ユーザー名 : 長谷嘉臣 ' ' Application.Goto Reference:="Macro4" Range("a1:a26").Select Dim i, i1 As Integer For i = 1 To 25 i1 = i + 1 If Cells(i, 1) = Cells(i1, 1) Then With Selection.Cells(i, 1).Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End If Next End Sub Sub Macro5()

noname#192382
noname#192382
回答No.3

No2の追加です。マクロの作り方です。 1.データの一部をクリック 2.「ツール」「マクロ」「新しいマクロの記録」OK 3.以下手動でやっていることをマクロに記録します。 G列を選択して「編集」削除 4.C列を選択して「編集」削除 5.見出し行をすべて選択して「でーた」「フィルター」「オートフィルター」と進む 6.名前のれつで「初回」、区分の列で「1」を選ぶ。 7.「ツール」「マクロ」マクロの記録終了を選ぶ。 新しいデータでデータの一部をクリックして「ツール」「マクロ」を選び先に作成したマクロを実行させると同じことがマクロできるようになりました。この後は時間をください。しばらく考えさせてください

noname#192382
noname#192382
回答No.2

No1の追加です。gの列を選択し「編集」「削除」し、次にcの列を選択し同様に削除します。 次にA列からH列まで列見出し(番号名前・・・)を選択して「データ」「フィルター」「オートフィルター」をクリックして「区分」  のところの逆三角矢印をクリックして「1」を選択し次に「名前」 のところの逆三角矢印をクリックして「初回」を選択すると3つの抽出条件に合うものが選ばれます。ここまではマクロを使わなくてできます。質問者はここまではお分かりでしょうか。

rinaring
質問者

お礼

分かっています。 今はオートフィルタで全て行っているのですが、 それをマクロで出来たらと思って、質問をさせていただきました。

noname#192382
noname#192382
回答No.1

お尋ねしますが、メニューバーを使って1,2,3の抽出作業ができますが、そのことはご存知でしょうか。(えくせる97の場合)

関連するQ&A

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • excel2000マクロ抽出方法

    2つのファイルがあります。ブック名A.XLS シート名 WORK              ブック名b.XLS シート名 SORT              ブック名A.XLS シート名 WORKに下記のデータが入っています。 AD 1300G A227550 000PA505(C列2行目) 200112(F列)200201(G列)200202(H列)200203(I列)200204(J列)200205(K列)→1行目固定データ AD 1300G A227550 000PA533(C列3行目)   ブック名b.XLS シート名 SORTに下記のデータが入っています。 AD 1300G A227550 000PA505(A列2行目)200112(E列)200201(F列)200202(G列)200203(H列)200204(I列)200205(J列) →1行目E列~J列のデータは都度変わっている AD 1300G A227550 000PA533(A列3行目)    データ抽出条件  ブック名A.XLS シート名 WORKの F列~K列の1行目の列データとブック名b.XLS シート名 SORTの  E列~J列の1行目の列データが同じで、ブック名A.XLS シート名 WORKのC列の2行目以降のコードと  ブック名b.XLS シート名 SORTのA列の2行目以降のコードが同じだったら  ブック名b.XLS シート名 WORKの E列~J列の同じ行にデータを入れる。違うときは、  ブック名b.XLS シート名 WORKのデータはそのままにする。 上記の条件を満たしたマクロの記述の仕方を教えてください。 以上よろしくお願いします。

  • エクセルマクロで重複数値と以外の数値を抽出する

    数値の表を作成しておりますが、 重複数値で困っております。マクロで教えてください。 A列11~20まで1.2.2.4.5.6.6.8.9.10とあるデータに 2と6が重複しています 重複数値2.6をB列2行目以降に、C列2行目以降にはそれ以外の1.4.5.8.9.10 を抽出したいのですが、マクロで教えてください。 (offsetを使ってできますか?) また、重複数値を抽出する自作関数ってできるでしょうか? よろしくお願いいたします。

  • Excelで重複チェックの方法

    重複データのチェックについて教えてください。 シート1にA支店の顧客データ、シート2にB支店の顧客データがあります。シートの構成は、A列に名前、B列に電話番号があります。 これで、A支店に顧客登録されていて、同じくB支店にも登録されている人を選び出し、支店間で同一人物を登録しないようにしたいのですが、どのようにしたら良いでしょうか。 私が考えるにはA列の名前でVLOOKUPを使えばいいと思うのですが、これだと同姓同名のダブりチェックが出来ないですね。名前が同じなら電話番号で比較しようと思うのですが、良く分かりません。 シート1のA支店を基準にしてシート2のB支店と比較し、重複していれば仮にC列に「重複」と表示させる。 ・・・としたいのですが、どなたか教えてください。

  • データ抽出方法

    おはようございます。 sheet1 B列、C列に重複してるデータと、そうでないデータが混在して沢山あります。 sheet2 B列、C列に一点一様の型でデータを抽出したいご伝授下さい sheet1 B列、C列 A-1-1 A A-1-1 A B-2-1 D B-2-2 E C-2-1 B C-2-1 B C-2-3 C sheet2 B列、C列(抽出結果) A-1-1 A B-2-1 D B-2-2 E C-2-1 B C-2-3 C

  • excelの複数シートを検索対象にして重複行を抽出する方法

    ある値が重複する行を抽出したいのですが 抽出元データが600,000行近くあり、1sheetに入らず9シート程に分けました。 countifを使おうとしたのですが検索範囲に複数シート指定が出来ず(3D-参照の対象関数ではないようです)、 =COUNTIF('sheet1:sheet9'!$C:$C,C1)としてみたのですが、重複行があっても全て#VALUE!となってしまうので機能できていないようです。 具体的には sheet1~8に下記のようなデータがあり、C列が重複する行を抽出したい。 A列:id、B列:名前、C列:メアド、D列:xx 宜しくお願い致します。

  • マクロについて

    エクセルのマクロについて質問です。 シート1にデータが入っており A列に入っているデータを営業所ごとにまとめて抽出し 雛形シートをコーピーしてデータを貼り付け、シート名をA列の営業所名にしたいのですが 可能でしょうか? 例えば  A列       B列  C列   東京営業所  30個  500円  大阪営業所  10個  200円  東京営業所  5個   100円 ↓↓↓  A列       B列  C列   東京営業所  30個  500円  東京営業所  5個   100円   シート名 東京営業所 ---------------------------------------  A列       B列  C列   大阪営業所  10個  200円   シート名 大阪営業所 毎回手作業で、どなたか教えていただけますと助かります。

  • マクロで、データの検索と該当データのコピー、別のシートへ移動

    えー・・っと。初めて質問するものです。 エクセルの関数だけでは 問題が解決できないので、マクロに挑戦してますが、息詰ってしまいました。 はじめに、合計表のB列とJ列に 1と入力されたらaと記入、2と入力されたらb、3と入力されたらcという風にマクロを作成。 ココまではできたのですが・・・。 このB列とJ列。それぞれ、aのシート、bのシート、cのシートと 入力された時点で それぞれのシートにコピー振分けしたいのですが・・・。うまくいきません。 コピーしたいデータは 合計表のA列からG列のaに変更になってるデータの一行を部分。(合計表は2分割されてる表なので、B列とJ列) わかりづらいですかね?言いたいことが伝わってるといいのですが・・・。 作ってみたのはこんな感じです。 private sub worksheet_change dim as integer for i=2to63 if cells(i,"a").value=1then cells(i,"b")="a" endif next * b,cも j列の場合も同様につくりました。 dim cl as range set cl=range("B:B").find(what:="a",lookat:=xlwhole) if cl=xlwhole then cells("A:G")=sheet2("asheet") sheets("合計表").copy before:=cells("A:G") ここまでで・・わけがわからなくなりパニックになりました。 そもそもできるのか?という謎も生まれ・・・。 よろしく御願いします。

  • 「エクセル」で重複したデータだけを呼び出したい。

    「Excel2000」を使用しています。 「重複しているデータだけ抽出する」 ということは出来るでしょうか? たとえば「A列」に名前が入っていて、 「B列」に住所、「C列」に電話番号が 入っているとします。 重複した名前だけを呼び出して、 なおかつ「B列」「C列」の データも表示させたいのですが…。

  • 重複データの抽出

    重複した数字のデータを抽出してまとめたいのですが教えていただけないでしょうか? 例えば A列    B列   1245     1365     1245 1398 1365 1155 1245 この表を      A列    B列   1245    1245 1365    1365 1245    1398 1398    1155 1365 1155 1245 のようにまとめたい A列の重複したデータを抽出しB列にまとめたいのですが、なるべく関数でやりたいのですが、良い方法をお願いいたします。

専門家に質問してみよう