• ベストアンサー

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