• ベストアンサー

選択セルをkeyとした 並べ替えマクロ?

 マクロを組んでいます。  xlsxではなく、xlsを使用中です。    顧客情報を管理するエクセルデータ-にマクロを組もうとしています。   ■並べ替え   選択したセルが「ふりがな」という項目だった場合、   「並べ替えのKEY」を、ふりがなにして、並べ替えが実行される。  選択したセルが「生年月日」だった場合は、今度はそれが「KEY」として並べ替えマクロが実行される。 ・・・そのようなマクロを組みたいのですが、どのようにしたらよいでしょうか?  アドバイスを、よろしくお願いいたします!

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

activecell.sort key1:=activecell, order1:=xlascending, header:=xlyes みたいな。

penichi
質問者

お礼

アクティブセル、とすれば良かったのですね。 助かりました。 ご回答、どうもありがとうございました!

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

Range("ソート範囲").Sort Key1:=ActiveCell.Columns, Order1:=xlAscending では

penichi
質問者

お礼

大変参考になりました。 ご回答、どうもありがとうございました!

penichi
質問者

補足

Range("activecell").Sort Key1:=ActiveCell.Columns, Order1:=xlAscending ・・・ということで、よろしいでしょうか?

関連するQ&A

  • エクセルのマクロでセル選択するには

    初心者です! エクセルのSheet1に30箇所のセルをマクロで選択したいのですが、 たまに選択するセルが変わります。 そこで、Sheet2のA1から下へSheet1の選択する位置を「B2」「C5」「D10」・・・としてマクロで一発で30箇所のセルを選択する方法を教えてください Sheet2のA1から下へ入力するセル位置はその都度変化します。 変化したときにそのマクロを実行すると選択できるといいのですが!! よろしくお願いします。

  • セルの文字をマクロの一文に反映させる方法

    マクロ初心者になりますが、よろしくお願いします。 今、一つのエクセルで、顧客を管理していて、別のシートで 各顧客のカルテを作成しているのですが、 顧客管理しているエクセルで、検索をして、カルテ番号を出せるようにしてます。 同じシートでカルテ番号を入力すると、別のエクセル(カルテ) が開くようにしたいのですが、どのようにすればよいでしょうか? 私なりにマクロボタンを設定して開くまではきているのですが、 セルの文字を反映してできるようにしたいです。 利用しているマクロ Sub Auto_Open Workbooks.Open ThisWorkbook.Path & "\ファイル名.xlsx" End Sub このマクロのファイル名を Sub Auto_Open Workbooks.Open ThisWorkbook.Path & "\●●●.xlsx" End Sub ●●●のところをセルで記入した文字に変えることはできませんか? そうすると、カルテ番号を記入後、開くようにしたいです。 入力は、半角の数字で入力予定です。 利用しているソフトはオフィス2007です。

  • ◯ならば、右セルをコピーし、1セルにまとめるマクロ

    エクセルのマクロで、顧客管理情報のシートを作成しています 例えば下のような二列のセルがありまして、(|は、セルの境目を表す) ◯ | A ◯ | B × | C ◯ | D この時、 ◯のついている行の値だけど、つなげたいと思っています。 この場合であれば、得たい値は「A、B、D」という値です。(AとBの間を ”,” などで区切ろうと考えています。 エクセルの関数でいえば「A1&","&A2」といったところでしょうか・・・ そのような操作を、上のテーブルでいえば「◯」のついているセルに対してのみ実行してもらうマクロを組みたいです。 このような場合、どうしたら良いでしょうか? アドバイスを、どうぞよろしくお願いいたします。

  • エクセルのマクロでの並べ替えにおいて

     できるExcel2000マクロ&VBAを読みながら,マクロに初挑戦しました。ところが初めからつまづいています。  住所録の並べ替えです。131人分の住所録をフリガナをキーに並べ替えるのをマクロに記録しました。保存して,早速機能を確認しようと132人目の住所などを入力し,マクロを実行しましたが,機能しませんでした。 Moduleは以下のようになっています。 Sub 五十音順並べ替え() ' ' 五十音順並べ替え Macro ' マクロ記録日 : 2005/1/12 ユーザー名 : ' ' Range("A1:G131").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending, _ Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:= _ xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal, DataOption3:=xlSortNormal End Sub 最初の Range("A1:G131") の131が臭いと思い,この数字を132にしたり,住所録の131番目以上に新しいデータを挿入したりするとマクロは機能します。きっと当然のことなのでしょうが・・・。おそらく記録するときに何か問題があるのではないかと思うのですが,解決法をご教授下さい。

  • 条件となる1つのセルと合致するセルを選択するマクロ

    一覧になっているデータ表題部のセルの中から、条件となる別のセルと合致するセルを選択するマクロを教えて下さい。ちなみに、データ表題部は、“年月日”データで、条件となる1つのセルも“年月日”で、検索値としては検索のつど変わります。なお、セルの選択は、セル番地の表示ではなく、そのセルを指定する「セルの選択」で、お願いしたいと思います。なにぶん、マクロ初心者なので、よろしくお願い致します。

  • EXCELで4項目以上で並べ替えをしたい

    Excel2002です 通常並べ替えは データー>並べ替え でソートしようとすると、keyは3項目までですが、4項目以上で並べ替えをする方法はあるでしょうか? マクロを使わずに簡単な方法で。。。。実行したいのですが。 たとえば >key1 >key2 <key3 <key4 <key5 >key6(>昇順 <降順 の意味です)の場合 key4 key5 key6 で上記 データー>並べ替え を実施後 再度同範囲で  key1 key2 key3で 実行すれば >key1 >key2 <key3 <key4 <key5 >key6の結果が得られる仕様になっているのでしょうか?

  • 選択したセルに罫線を引くマクロ

    お世話になっております。 業務上必要になり(効率化が図れるので)選択したセルにバツの罫線を引くマクロを作成しています。 まだまだ自分のレベルが低いので、マクロ記録を参考に、下記のようなマクロを作りました。 Sub バツ罫線マクロ()  ActiveCell.Select   With Selection.Borders(xlDiagonalDown)     .LineStyle = xlContinuous     .Weight = xlHairline     .ColorIndex = xlAutomatic   End With   With Selection.Borders(xlDiagonalUp)     .LineStyle = xlContinuous     .Weight = xlHairline     .ColorIndex = xlAutomatic   End With End Sub 試してみると、選択したセルに対してバツの罫線が引かれました。 やった!と思ったのもつかの間、Ctrlキーでセルを複数選択してマクロを実行すると最後にアクティブにしたセルしか罫線が引かれないではありませんか・・・。 ネットなどで調べてみると、Ctrlキーで複数選択してもアクティブセルというのはそのうちの一つだけというような記述がありました・・・。 そして、ここで行き詰ってしまいました。 お伺いしたいのは2つあります。 ・どうすればCtrlキーで選択した全てのセルにこの罫線を引くマクロを適用させる事が出来ますか? ・変数などを用いたもっとレベルの高いコードの書き方だと、どのように記述されますか?後学のためにレベルの高い人の記述方法と比較させてもらって勉強させてもらいたいと思っています。 よろしくお願いします。

  • マクロ実行後にセル選択の状態にする。

    マクロ実行後に 値が変更されたセルをすべて選択状態にしておくには どういった式を付け加えればいいですか? excel2007 windows7

  • EXCELのマクロで複数選択したとき

    選択したセルに一つ左側の文字列をふりがなとして表示させる方法をマクロで 簡単に実行させたいのですが複数のセルを選択するとエラーになってしまいます。 Sub test() Selection.Characters.PhoneticCharacters = Selection.Offset(0, -1) Selection.SetPhonetic Selection.Phonetics.Visible = True End Sub マクロはさきほど調べたばかりでほとんど理解できていません。おそらく2行目のSelection.Offset(0, -1)の部分がエラーの原因かと思うのですが下記のような表現ができるマクロを教えて下さい。 B1~B10を選択してるときマクロを実行するとA1~A10の文字列をB1~B10にふりがなの文字になる。 * B1にはA1、B2にはA2の文字列とがふりがなになるようにしたい。 マクロに詳しい方よろしくお願いします。

  • マクロでの行選択

    Excelのマクロについて質問です。 例えば、A1~A5セルをセル結合したときに、3行目~5行目を行選択 しようとしたときに手動で行なうとうまく選択できるのですが、マクロ で実行するとなぜか結合されている1行目から5行目が選択されて しまいます。 具体的に以下のようなマクロを書きました。 Rows.("3:5").select 手動のみでマクロ化は無理なのでしょうか? 今のままですと、一回連結をといてセルを選択して処理を実行、その のちにセルを再び連結させるということをやらなければいけなくなって しまいます。

専門家に質問してみよう