- ベストアンサー
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 楽天 よろしくお願いします。
- みんなの回答 (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
その他の回答 (2)
- hallo-2007
- ベストアンサー率41% (888/2115)
何か、ほんの先ほど解凍した質問と同じような 範囲を指定して、別の列のデータの最終行に貼り付け 'AB列(1000行)をコピィ Range(A1:B1000)).Copy 'E列の最終行より1行上から貼り付けです。 参考にして下さい。 Range("E65536").End(xlUp).Offset(1,0).Select ActiveSheet.Paste CD列も同様、 並び替えは、マクロの記録で試してみてください。 参考のスレにEnd(xlUp).の説明があります。
なぜマクロを使用しなければいけないのでしょうか。C、D行のデータをA、B行のデータの最後のデータ以降にコピー(又は移動)してソートすれば良いだけでは? EXCELの行数の限界に達するためできないというのであれば、そもそもE、F行でも収容しきれないのですから、データベースソフトに取り込んで同様に処理するのが現実的でしょう。
お礼
希望通りできました。ありがとう御座いました。