• ベストアンサー

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 楽天 よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

esd827さんこんばんは。merlionXXです。 Sub test01() Dim x As Long, y As Long 'x,yは長整数と宣言 With ActiveSheet 'アクティブなシートで x = .Cells(.Rows.Count, "A").End(xlUp).Row 'A列最終行取得 y = .Cells(.Rows.Count, "C").End(xlUp).Row 'C列最終行取得 .Range("A1:B" & x).Copy .Range("E1") 'AB列をコピーしてE1以降に貼り付け .Range("C1:D" & y).Copy .Range("E" & x + 1) 'CD列をコピーしてEF最下行以降に貼り付け .Range(.Range("E1:F1"), .Range("E1:F1").End(xlDown)).Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlNo '並べ替え End With End Sub

esd827
質問者

お礼

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

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

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

何か、ほんの先ほど解凍した質問と同じような 範囲を指定して、別の列のデータの最終行に貼り付け 'AB列(1000行)をコピィ Range(A1:B1000)).Copy 'E列の最終行より1行上から貼り付けです。 参考にして下さい。 Range("E65536").End(xlUp).Offset(1,0).Select ActiveSheet.Paste CD列も同様、 並び替えは、マクロの記録で試してみてください。 参考のスレにEnd(xlUp).の説明があります。

参考URL:
http://oshiete1.goo.ne.jp/qa3635858.html
全文を見る
すると、全ての回答が全文表示されます。
noname#46899
noname#46899
回答No.1

なぜマクロを使用しなければいけないのでしょうか。C、D行のデータをA、B行のデータの最後のデータ以降にコピー(又は移動)してソートすれば良いだけでは? EXCELの行数の限界に達するためできないというのであれば、そもそもE、F行でも収容しきれないのですから、データベースソフトに取り込んで同様に処理するのが現実的でしょう。

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

関連するQ&A

  • 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 ヤマシナ よろしくお願いします。

  • Excelデータの抽出 並べ替えについて

    Excelで、登録や契約日等を入れているのですが、一覧で見れるようで気無いか、苦心中です。 すいませんが、アドバイスをお願いします。 こんな事が出来ないかと思っています。 Excel5枚のシートを使います。 Sheet1 ココには、登録日・解約日を記していきます。    A  B     C       D      E  1 No. 氏名 登録・解約  登録日   解約日    2  1 AB  登録     1996/9/16 3 2 CD 登録     1996/9/17 4 3 EF 解約 1996/9/18 2010/11/27 Sheet2 には、契約日及び契約終了日を入れていきます。    A  B     C       D       1 No. 氏名 契約日   契約終了日   2  1 AB  2010/11/10 2011/11/9 3 2 CD 2010/11/11 2011/11/10 4 3 EF 2010/11/12 2011/11/11 Sheet3 には、証明書期限を入れていきます。    A  B     C              1 No. 氏名 証期限  2  1 AB  2010/11/21 3 2 CD 2010/11/22 4 3 EF 2010/11/23 この、上記3枚シートから、2枚のシートにデータを抽出並べ替えたいのです。 Sheet4 ここには、登録日順に顧客を表示し、横に、Sheet2,Sheet3にある、契約日・証期限を表示させたいのです。それも、契約日・証期限は、その各シートで、契約が更新される都度に、データが増えていくため、とうぜん、新旧が混在していますが、最新のデータを表示となります。    A  B     C      D        1 No. 氏名 契約日    証期限  2  1 AB  2010/11/19 2010/11/30 3 2 CD 2010/11/20 2010/12/1 4 3 GH 2010/11/22 2010/12/3 ※Sheet1で解約になっている人は表示させません。 Sheet5では、Sheet1で解約になっている人を表示しないのは同様ですが、それ以上に、最新の契約日を基点として、顧客を羅列し、最新の証期限を表示したいのです。    A  B     C      D        1 No. 氏名 契約日    証期限  2  1 QR  2010/11/27 2010/12/8 3 2 OP 2010/11/26 2010/12/7 4 3 MN 2010/11/25 2010/12/6 大変ややこしい説明で申し訳ないのですが、 宜しくお願いします。  

  • テキストデータをバイナリデータに変換したい

    テキストファイルに以下のデータがあるとします。 テキストデータの中身、 「 000E6D4181AA,1234567890ABCDEF 0123456789AB,0100000000000000 050505AAAAAA,0200000000000000 070707BBBBBB,0300000000000000 012345CCCCCC,0400000000000000 cdef01DDDDDD,0500000000000000  ・  ・  ・ 」 12桁の数値(16進数)と16桁の数値(16進数)を「,」で区切ります。1行の終端は改行しています。 このテキストファイルにあるデータを以下のバイナリ形式に変換させたいのです。バイナリ形式の各行の16バイト目は、テキストデータにはデータがないので、「00」とします。「,」で区切ったバイナリ形式は「2C」になると思います。 テキストデータの左上から順に「00」は以下の、左上から順の「00」に対応します。 バイナリデータの中身、 「 00 0E 6D 41 81 AA 2C 12 34 56 78 90 AB CD EF 00 01 23 45 67 89 AB 2C 01 00 00 00 00 00 00 00 00 05 05 05 AA AA AA 2C 02 00 00 00 00 00 00 00 00 07 07 07 BB BB BB 2C 03 00 00 00 00 00 00 00 00 01 23 45 CC CC CC 2C 04 00 00 00 00 00 00 00 00 CD EF 01 DD DD DD 2C 05 00 00 00 00 00 00 00 00  ・  ・  ・ 」 ソースコードでの例、 テキストデータ1行目の1つ目の「,」までのデータ「000E6D4181AA」を、メモリ領域に読み込む。2桁の数値を1バイトで格納する。 つまり、 char buf[6]とすると、 buf[0]=0xAA buf[1]=0x81 buf[2]=0x41 buf[3]=0x6D buf[4]=0x0E buf[5]=0x00 とこのようにメモリに格納したいのです。 格納するバイトオーダーはリトルエンディアン方式とします。 以上で、質問を終わりますが、質問が上手くできていないと思いますので、説明に不備があるかもしれません。その時はお手数ですが、連絡下さい。

  • Wiiを液晶モニターで使用したいのですが・・・

    Wiiを液晶モニターに接続したいのですが・・・ Wiiをモニター(http://www.mitsubishielectric.co.jp/home/display/product/public/ldt462v/)に接続して遊びたいのですが、以下のケーブルを使用したら画面が右寄りになり、画面が緑色になったので困っています。どうすればモニターにWiiを移すことができますか?まだ、何かケーブルが足りないのでしょうか? 使用したケーブル類は以下の通りです。 (1)http://www.amazon.co.jp/%E3%82%B5%E3%82%A4%E3%83%90%E3%83%BC%E3%82%AC%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88-CYBER%E3%83%BBD%E7%AB%AF%E5%AD%90%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-Wii-U%E7%94%A8-%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF/dp/B009YSV13E/ref=sr_1_62?ie=UTF8&qid=1384600763&sr=8-62&keywords=wii%E3%80%80%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB (2)http://www.amazon.co.jp/gp/product/B005C3VX7O/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1 (3)http://www.amazon.co.jp/DATA-AVeL-LinkPlayer%E3%80%8CAV-LS300%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%80%8D%E7%94%A8-%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E5%87%BA%E5%8A%9B%E5%A4%89%E6%8F%9B%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-MA-D2A/dp/B000LC3TKK/ref=sr_1_20?ie=UTF8&qid=1384600696&sr=8-20&keywords=wii+%E5%A4%89%E6%8F%9B (4)http://www.amazon.co.jp/ELECOM-%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-D-Sub15%E3%83%94%E3%83%B3-%E3%82%AA%E3%82%B9-D-Sub15%E3%83%94%E3%83%B3-CAC-15BK/dp/B00297XABI/ref=sr_1_1?ie=UTF8&qid=1384600654&sr=8-1&keywords=%EF%BC%A4%E3%80%80%EF%BC%B3%EF%BC%B5%EF%BC%A2 ちなみにWii⇒(1)⇒(2)⇒(3)⇒(4)⇒モニターの順番に接続しています。 モニターにはD-SUB入力コネクターとオーディオ入力コネクターに接続しています。 できれば、(1)(2)(3)(4)のケーブルは最近購入したばかりなのでこれらを使って映るようにしてほしいです。 HDMI変換機の存在は知っています。 ですので、これらのケーブルを使って接続方法や設定方法があれば教えてください。 回答をお願いいたします。

  • エクセルマクロでマクロをアクティブにしたくない

    エクセルのマクロをひとつの「マクロA」という名前で、データーファイルからセルに入っている内容などを呼び出しながらまくろAのシートにデーターを貼り付けながら作業をしています。 Workbooks.Open Filename:= _ "C:\Documents and Settings\owner\My Documents\マクロ.xls" Application.Run "マクロ.xls!マクロ" と記載すると、マクロXLSがアクティブになってしまいます。 その為記載に'ActiveWindow.WindowState = xlMinimized と入れたりするのですが、アクティブになるシートがマクロ以外にうまくいかないことがあるのです。 データーシートは、毎回データーが変わる関係で、DATA.xlsがAのときやBのときが発生します。

  • エクセルなどのマクロについて わが社ではエクセルなどでマクロを組むのは

    エクセルなどのマクロについて わが社ではエクセルなどでマクロを組むのは、大手企業では禁止となっていると話をし、マクロを組まない方向で指導します。今まで組んだマクロは削除しろとの話でありますが、日本全国で、現在本当にそういった状況なのでしょうか? できればリンクなど教えていただきたいと思います。

  • EXCEL マクロ 

    お世話になります。 マクロは初心者です。 セルの数値を参照して、シートをアクティブにしたいのですが 下記のような繰り返しでシートが30ぐらいあるので、簡単な 表現に出来ないでしょうか。 宜しくお願いします。 Private Sub Workbook_Open() If 0 <= Worksheets(4).Range("M1") < 7 Then Worksheets(4).Activate End If If 0 <= Worksheets(5).Range("M1") < 7 Then Worksheets(5).Activate End If If 0 <= Worksheets(6).Range("M1") < 7 Then Worksheets(6).Activate End If If 0 <= Worksheets(7).Range("M1") < 7 Then Worksheets(7).Activate End If If 0 <= Worksheets(8).Range("M1") < 7 Then Worksheets(8).Activate End If If 0 <= Worksheets(9).Range("M1") < 7 Then Worksheets(9).Activate End If End Sub

  • EXCELのマクロについて教えてください。

    初心者です。 「商品コード」と「販売個数」から成る表があるとします。 「販売個数」が10個以上の商品について、当該「商品コード」の内容を別のシートに転記できるようにしたいと思っています。 どのようなマクロを書けばよいか教えてください。 宜しくお願いします。

  • エクセル マクロ

    以下の処理を教えて頂ける方がいらっしゃいましたらご教示ください。 A - B - C - D - E 日付 - 商品名 - 単価 - 数量 - 金額 a41 - バナナ - 120 - 10 - 1,200 a42 - みかん - 110 - 20 - 2,200 a42 - りんご - 150 - 10 - 1,500 a42 - バナナ - 120 - 15 - 1,800 a42 - なし - 150 - 20 - 3,000 a51 - りんご - 150 - 30 - 4,500 a51 - バナナ - 120 - 25 - 3,000 a51 - なし - 160 - 20 - 3,200 a52 - りんご - 145 - 35 - 5,075 a52 - みかん - 120 - 40 - 4,800 a53 - バナナ - 115 - 25 - 2,875 上記、シート1のデータが、3000行あります。 A - B - C - D - E 日付 a42 a52 上記、シート2のデータが、150行あります。 A - B - C - D - E 日付 - 商品名 - 単価 - 数量 - 金額 a42 - みかん - 110 - 20 - 2,200 a42 - りんご - 150 - 10 - 1,500 a42 - バナナ - 120 - 15 - 1,800 a42 - なし - 150 - 20 - 3,000 a52 - りんご - 145 - 35 - 5,075 a52 - みかん - 120 - 40 - 4,800 シート3に上記データのように抽出するには、どうすればよろしいでしょうか。 オートフィルタで,抽出後、抽出範囲をシート3にコピー貼り付けを繰り返しているのですが、もっといい方法(VBA)で、できませんでしょうか。

  • エクセルのマクロについて

    Windows7 、Micirosoft Office Excel 2010を使用して簡単なマクロ(所定の番地に一発で飛ぶような簡単なもの)が20ケほどあります。これを新しいパソコンでも使用できるようにコピーし新しいパソコン上で復元したい。手順があれば教えて下さい。新しいパソコンもWindows7 です。

専門家に質問してみよう