[[20141118224057]] 『マクロの記録しました』(トンちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロの記録しました』(トンちゃん)

こんばんは。
ソートの質問ですが教えてください。
マクロの自動記録したのが以下のコードです。
Sub Macro1()

    Range("C114:E118").Select
    Range("C118").Activate
    Selection.Sort Key1:=Range("C114"), Order1:=xlAscending, Key2:=Range( _
        "D114"), Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
        xlSortNormal, DataOption2:=xlSortNormal
    Range("C114").Select
End Sub
しかし、ソートの範囲はその都度変わり困っています。
並べ替えたい範囲をマウスで選択したら並べ替えるコードはできないものでしょうか?

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 列はC:E列固定。114行目を先頭にデータ量のみ変わる
   C114:E118 が、C114:E200 とか C1114:E150 の様に
 であれば、最初の2行を消してみてはどうでしょう。
  
(HANA) 2014/11/18(火) 22:59

HANAさんへ
消しましたら大成功です。
思うように動きました。
ありがとうございました。

(トンちゃん) 2014/11/18(火) 23:18


再質問します。
前回のコードを進展させSheet1で選択してSheet2にコピー値貼り付けしようとしました。
    Worksheets("Sheet2").Activate
         Range("D5").Select
    Selection.End(xlDown).Offset(1, 0).Select
    Selection.Copy
        Range("D5").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
このコードでは選択できず動かないのですが悪い箇所を教えてください。

(トンちゃん) 2014/11/21(金) 21:17


 Sheet1のとある範囲を選択した状態でマクロを実行すると
 その範囲をコピーして
 Sheet2のD列の続きに貼り付けされる様にしたい。

 って事ですか?

 でしたら、まずはSheet1の範囲を選択した状態で
 ●マクロの記録を開始
 1.コピー
 2.Sheet2をアクティブに
 3.D5セルをアクティブに
 4.Ctl+↓
 5.貼り付け
 ■マクロの記録を終了
 を一旦記録にとってから、4番号の部分を
 Selection.End(xlDown).Offset(1, 0).Select
 に書き替えてみて下さい。

 ご要望が違う場合は、セル番地等使いながら
 例をあげて説明して貰うのが良いかもしれません。
  
(HANA) 2014/11/21(金) 23:07


HANAさんへ
前回に引き続きご指導いただきありがとうございました。
大大成功です。
ありがとうございました。

(トンちゃん) 2014/11/22(土) 08:45


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.