• ベストアンサー

excel2003 マクロ

winxp he sp2,office2003 楽天 新日鉄 ABとCD両方にあります。 その結果を、EFに記述するマクロを教えてください。 AB CD データは沢山あります。 列がずれて見にくいです。 A,B列:サーチ  C,D列:基準 E,F列:結果 A   B     C   D             E   F 4755 楽天    1400 アライヴコミュニティ    4755 楽天 1885 東亜建   1503 住友石炭          5401 新日鉄 6796 クラリオン 1518 三井松島 6590 芝浦    1757 千年の杜 5218 オハラ   1783 A.Cホールディングス 6723 NECエレ 2164 地域新聞社 4973 日本高純度 2316 モスインスティテュート 6665 エルピーダ 2318 ビービーネット 4186 東応化   2330 フォーサイド・ドット・コム 5401 新日鉄   2350 オックスホールディングス          2709 タスコシステム          3011 バナーズ          3090 ナチュラム          4314 ダヴィンチ・アド          4755 楽天          4772 デジタルアドベンチャー          4835 インデックスHLDGS          5401 新日鉄          5955 ヤマシナ よろしくお願いします。

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

  • ベストアンサー
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.7

一応、No.4補足に対するレスです。 私の案の場合、手作業でやってみられましたか? 内容を理解した上で、ご自分でメンテナンスできるようになられたほうが良いですよ。 対象がC:D列からA:B列に変わり、条件が『一致しないもの』になるわけですから、IV2の数式を  =COUNTIF(C:C,A2)=0 [フィルタオプションの設定]を  リスト範囲  [A:B  ] に変えれば良いです。

esd827
質問者

お礼

希望通りできました。ありがとう御座いました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.6

>AB:10個 CD:1756個 でcheckしました。 >AB列に楽天は1個です。 >詳細:抽出データは2個でした。正解は、10個です。 B列の社名(10個)がD列の1756個の中にあって、 10個抽出されるはずが、2個しか出ないと言う事ですか? >1つ:楽天は毎回抽出されます。 >もう一つ:ころころ変わります。 この2点も、こちらで再現できないので、よくわかりません。 すいません。

esd827
質問者

お礼

no.7 pauNedさん回答で、希望通りできました。 ご協力 ありがとう御座いました。

esd827
質問者

補足

>10個抽出されるはずが、2個しか出ないと言う事ですか? はい

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.5

>マクロ実行毎に、抽出データが違っていました。 >楽天は毎回抽出されました。 A・B列に楽天が複数あったと言う事ですね。 その場合、私ならDictionaryを使ったりもしますが、 pauNedさんの方法がシンプルでいいのかもです。

esd827
質問者

補足

AB列に楽天は1個です。 詳細:抽出データは2個でした。正解は、10個です。 1つ:楽天は毎回抽出されます。 もう一つ:ころころ変わります。 もうひとつお願いします。 winxp he sp2,office2003 ABからCDを除いたものをEFに記述するマクロを教えてください。 この場合、楽天 新日鉄を除いたlistとなります。 株:銘柄コードと銘柄名 一体です。コード番号で調べていいです。 AB CD データは沢山あります。 列がずれて見にくいです。 A   B      C   D     E   F 1400 アライヴコミュニティ    4755 楽天    1400 アライヴコミュニティ 1503 住友石炭          1885 東亜建   1503 住友石炭 1518 三井松島          6796 クラリオン 1518 三井松島 1757 千年の杜          6590 芝浦    1757 千年の杜 1783 A.Cホールディングス   5218 オハラ   1783 A.Cホールディングス 2164 地域新聞社         6723 NECエレ 2164 地域新聞社 2316 モスインスティテュート   4973 日本高純度 2316 モスインスティテュート 2318 ビービーネット       6665 エルピーダ 2318 ビービーネット 2330 フォーサイド・ドット・コム 4186 東応化   2330 フォーサイド・ドット・コム 2350 オックスホールディングス  5401 新日鉄   2350 オックスホールディングス 2709 タスコシステム                2709 タスコシステム 3011 バナーズ                   3011 バナーズ 3090 ナチュラム                  3090 ナチュラム 4314 ダヴィンチ・アド               4314 ダヴィンチ・アド 4755 楽天                     4772 デジタルアドベンチャー 4772 デジタルアドベンチャー            4835 インデックスHLDGS 4835 インデックスHLDGS            5955 ヤマシナ 5401 新日鉄 5955 ヤマシナ よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.4

こんにちは、横から失礼します。 提示された情報で、n-junさんのコードは[win2000/xl2000][winXP/xl2003]で正しく動作する事を確認しました。 参考まで。 質問者さんがマクロについて詳しくない場合、 まずは一般操作だったらどうするかを考えて、 [新しいマクロの記録]を参考にするのも一つの手かと思います。 1)1行目挿入し、A1:D1に見出しをつける。 2)未使用セルを作業列として(例えばIV2)抽出条件の数式を入れる。  =COUNTIF(A:A,C2)>0 3)C:D列を選択して、メニュー[データ]-[フィルタ]-[フィルタオプションの設定]。  抽出先---   ○指定した範囲  リスト範囲  [C:D  ]  検索条件範囲 [IV1:IV2]  抽出範囲   [E1   ] 4)E:F列に抽出される。 5)作業セルIV2セルをクリアし、1行目を削除する。 (参考:43-2 フィルタオプション(文字列の検索・計算検索条件)) http://www11.plala.or.jp/koma_Excel/contents6/mame6043/mame604302.html 以上の操作をマクロ記録して整理すると下記のようになります。 Sub Macro1()   Rows(1).Insert   Range("A1:D1").Value = [{1,2,3,4}]   Range("IV2").Formula = "=COUNTIF(A:A,C2)>0"   Columns("C:D").AdvancedFilter _     Action:=xlFilterCopy, _     CriteriaRange:=Range("IV1:IV2"), _     CopyToRange:=Range("E1:F1")   Range("IV2").Clear   Rows(1).Delete End Sub

esd827
質問者

お礼

要求通りの結果が得られました。 毎回同じデータが抽出されました。 ありがとう御座いました。

esd827
質問者

補足

N0.5 補足内容に書きましたが、もう一つお願いします。 ダブりますので、ここでは省略します。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

>結果はNGでした。 エラーが出たと言う事ですか? それとも抽出されないと言う事でしょうか? 提示されている例題では抽出できましたが、当方2002ですので 或いはバージョンによるかも知れませんね。

esd827
質問者

補足

ありがとう御座います。 マクロ実行毎に、抽出データが違っていました。 楽天は毎回抽出されました。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

コードと社名は必ず一致していると仮定して、 Sub try()     Dim i As Long, j As Long     Dim r As Range, vv          Set r = Range("D1", Cells(Rows.Count, 4).End(xlUp))     vv = Range("A1", Cells(Rows.Count, 2).End(xlUp)).Value     j = 1     For i = 1 To UBound(vv, 1)         With WorksheetFunction              If .CountIf(r, vv(i, 2)) > 0 Then                  Range("E" & j).Value = vv(i, 1)                  Range("F" & j).Value = vv(i, 2)                  j = j + 1              End If         End With     Next End Sub こうゆう感じの事ですか?

esd827
質問者

補足

ありがとう御座います。AB:10個 CD:1756個 でcheckしました。 データが多すぎて、ここでは書けないです。 結果はNGでした。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>その結果を、EFに記述するマクロを教えてください。 その結果とは何でしょう? 重複しているって事でしょうか?

esd827
質問者

補足

重複している楽天と新日鉄を、EFに記述するマクロです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL2003 マクロ

    winxp he sp2, office2003 Q: winxp he sp2, office2003 Q: 2-6行目のA,B,C列の空白に、1行目のA,B.C列の内容を記入するマクロを教えてください。 E,F,G,H列の様にしたいのです。 A   B     C     D      E   F     G     H --------------------------------------------------------------------------- 2350 オックス  HC   新規売停止  2350 オックス  HC   新規売停止               日々公表銘柄 2350 オックス  HC   日々公表銘柄               新規買停止  2350 オックス  HC   新規買停止               一般信用   2350 オックス  HC   一般信用               代用掛目規制 2350 オックス  HC   代用掛目規制               増担保60%  2350 オックス  HC   増担保60% 2355 シーフォー マザーズ 新規売停止  2355 シーフォー マザーズ 新規売停止               現引停止   2355 シーフォー マザーズ 現引停止 2363 モック   マザーズ 新規売停止  2363 モック   マザーズ 新規売停止   現引停止   2363 モック   マザーズ 現引停止 列がずれて見にくいのですが、よろしくお願いします。

  • excelマクロ

    office2003 Q: ABデータ+CDデータをEFに記述し、EFデータを昇順に並べるマクロを教えてください。 1行目からデータです。列がずれて見にくいです。 AB CDは一体です。(銘柄コード 銘柄名)データは沢山あります。 A   B        C   D       E   F 3011 バナーズ     1928 積水ハウス   1928 積水ハウス 3090 ナチュラム    1930 北陸電気工事  1930 北陸電気工事 4314 ダヴィンチ・アド 1932 コミューチュア 1932 コミューチュア 4747 e-まちタウン  1934 ユアテック   1934 ユアテック 4755 楽天                   3011 バナーズ                         3090 ナチュラム                         4314 ダヴィンチ・アド                         4747 e-まちタウン                         4755 楽天 よろしくお願いします。

  • EXCEL2010マクロ「繰り返し作業」の方法

    EXCEL2010 で「繰り返し作業」を行うマクロを組みたいのですがうまくいきません。どなたかご教授ください。 作業内容は下記の通りです。 【作業内容】  ・「B3:C3」をコピーし、「E4:F4」へ値化で貼り付け後、   「E4:F4」を印刷する。  次に、  ・「B4:C4」をコピーし、「E4:F4」へ値化で貼り付け後、   「E4:F4」を印刷する。  次に、  ・「B5:C5」をコピーし、「E4:F4」へ値化で貼り付け後、   「E4:F4」を印刷する。   ※商品が、無くなるまでくり返す。 (補足事項)  ・商品件数、数量は日々変動致します。  ・貼り付け先は全て同じです       B列  C列 E列 F列 3行目 商品A 500個 4行目 商品B 400個 商品A 500個 5行目 商品C 300個 6行目 商品D 200個 7行目 商品E 100個 以上、よろしくお願いいたします ※OKWaveより補足:「富士通FMV」についての質問です。

  • マクロを教えてください

    CSVファイルで、     A    B    C    D    E   F 1 444  あああ  123  けけけ 2 555  いいい  456  かかか 3 666  ううう  000        4 山   5 川 上記のようなCSVファイルで3行目のC列には0・D列はブランクです。 そこで3行目でD列がブランクのときは、A列をC列に、B列をD列に持ってきて あいたA列には999B列には@@@を入れたいのです。 そしてもうひとつは、A列をE列にコピーをしてF列はE列の数字以外を持ってきたいのです。 結果は   A      B    C    D   E   F 1 444  あああ  123  けけけ  444 2 555  いいい  456  かかか  555 3 999  @@@  666  ううう  999 4 山                    山 5 川                    川 といった結果のマクロを作りたいです。 どなたか教えてください。よろしくお願いします。

  • EXCEL2010 関数について

    EXCEL2010を使っています。 たとえばシート1のA列からC列に AB0001 1 キャビン AB0001 2 キャビンマイルド AB0002 1 セブンスター AB0002 2 セブンスターライト AB0003 1 マルボロ と並んでいるとします。AB0001は『キャビン系』が2種類『キャビン』と『キャビンマイルド』 AB0002には『セブンスター系』が二種類『セブンスター』『セブンスターライト』・・・ という感じで分類しています。 シート2のA列からB列には キャビンマイルド  A社  キャビンマイルド  D社 キャビンマイルド  C社 キャビンマイルド  F社 キャビンマイルド  E社 キャビンマイルド  P社 セブンスター  Y社 キャビンマイルドを扱う会社がA社、D社、C社、F社、E社 セブンスターがY社・・・ という感じに並んでいるとします。 シート2のキャビンマイルドすべてにシート1のAB0001を、セブンスターにAB0002という風にあてがいたいのですがどのようにしたら良いでしょうか?同じ数であればできるのですがシート1は重複データがなく、シート2には重複データがあるのでどうやったらいいのかわかりません。 データの量が何万件もあって手作業では厳しいのです。 何かありましたら教えて下さい。

  • Excel関数:文字を含む複数条件の合計

    関数の達人の方、教えてください! A B C D E F ―――――――――――――――――――――――― 1 | 商品名    A社   B社  C社  A社  C社 2 | AA (1) 1 1 (2) 2 3 | BB 1 1 1 2 2 4 | ab AA (1) 1 1 (2) 2 5 | ab BB 1 1 1 2 2 6 | ab AA cd (1) 1 1 (2) 2 7 | ab BB cd 1 1 1 2 2 ―――――――――――――――――――――――― この表から「A社のAAを含む合計=合計9」を出したいです。つまり○数字になっているところの合計です。 自分なりに以下で試したところ、いづれも「0」となってしまいました。 =SUMPRODUCT((A2:A7="*AA*")*(B1:F1="A社"),(B2:D7)) =SUMPRODUCT(((A2:A7="*AA*")*(B1:F1="A社")),(B2:D7)) 列ごとで AA を含む合計を一旦計算することはできましたが、A社は複数列あるため、できれば一度に A社 の該当する合計を出せればと思っています。 =SUMIF(A2:A7,"*AA*",B2:B7) → 合計3 よろしくお願いいたします。

  • 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のデータはそのままにする。 上記の条件を満たしたマクロの記述の仕方を教えてください。 以上よろしくお願いします。

  • Excel2007のマクロで文字列を分解

    Excel2007のマクロで文字列を分解したいのですがうまくいきません。 1、セルA1からU1までかそれ以上にデータが3つずつ入ってます。 2、1のデータの1つずつをを3列ずつに分解してA3から列上にコピー。 例えば、セルA1あいう、セルB1えおか→ならA3あ、B3い、C3う、D3え、E3お、F3か という具合に。だれかお願いします。

  • Excelのマクロの組み方を教えてください

    3行と2列のデーターの塊があり、これを 1行のデータに並べ替えるにはどうしたらいいでしょうか? ただし 行方向(縦に) 30件、列方向(横に) 20件ほど入っていて、複雑です。 空白の行や列はないものと考えていただいて結構です。 詳細説明 A1からCB1はタイトルなどが入っていて、無視して、 データーの配列が以下の場合 A2 B2 C2 D2 E2 F2 →CB2まで A3 B3 C3 D3 E3 F3 →CB3まで A4 B4 C4 D4 E4 F4 →CB4まで A5 B5 C5 D5 E5 F5→CB5まで A6 B6 C6 D6 E6 F6→CB6まで A7 B7 C7 D7 E7 F7→CB7まで ↓ ↓ ↓ ↓↓ ↓ A120まで CB120まで を A2 A3 A4 B2 B3 B4 C2 C3 C4 D2 D3 D4 ↓ CA2 CA3 CA4 CB2 CB3 CB4 次に A5 A6 A7 B5 B6 B7 C5 C6 C7 D5 D6 D7 ↓ A118 A119 A120 B118 A119 A120 などと並べかえはどのようにマクロを組めばよいですか?

  • excel2003の入力を省力化したい

    写真のように A,C,E列に記号 B,D,F列に文字が入っています。 そこで、A~F列に何かしら入力した場合、 G列、H列には、それぞれ A-C-E、B-D-Fを ハイフンで連結した文字を、自動で表示させたいです。 ただし、A~F列の値を消した場合、G列とH列の値もクリア させたいです。 どうか、VBAの記述を教えていただけないでしょうか? できれば、早くて、負荷の少ない記述が助かります。

このQ&Aのポイント
  • 日本が所得税や法人税の非課税を導入することで、海外企業や富裕層が日本に集まり、消費拡大が見込まれています。
  • 非課税になった部分を補えるため、ベーシックインカムの導入も可能であり、経済的な恩恵を受けることができます。
  • 実証実験を経て成果が出た場合、この制度は永久的に導入される可能性もあります。
回答を見る

専門家に質問してみよう