• ベストアンサー

Excel2003でカラオケ

Excel2003でカラオケ曲名一覧表を作ています 入力すると自動的にアイウエオ順に並ぶ方法をお願いします、セルAは曲名セルBはCDの番号セルCはCDの中の曲番号ですセルABCを入力すると自動的にアイウエオ順に並ぶ方法です。

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

  • ベストアンサー
回答No.3

No1です。 マクロでもいいということなので、VBAで一発処理の方法です。 必ずファイルのバックアップをとってから試してください。 データは1行目はタイトル行だと思いますので2行目からとしています。 まずデータを入力したシートのタブ(シート名の部分)を右クリック→「コードの表示」 これでVBエディターに画面が変わります。 右の白い広い部分に以下のコードをそのままコピペ Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Application.Intersect(Range("A:A"), UsedRange).SetPhonetic UsedRange.Offset(1).Resize(UsedRange.Rows.Count - 1).Select Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _ , Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin End Sub ワークシートに戻り、右クリックすればデータは自動的にA列を基準としたアイウエオ順に並び変わります。 これで、これからどれだけデータを追加してもあとは右クリックするだけで自動的に並び替えが行われます。

yocihara
質問者

お礼

丁寧な回答感謝します

その他の回答 (2)

  • matrix4
  • ベストアンサー率16% (118/704)
回答No.2

マクロで最後の行を入れたら、並び替えをするということはできますが、最後の行のコードはわかりませんので、 ボタンを作って並び替えの操作のマクロを記録して、それをボタンに登録するのはどうでしょう?

yocihara
質問者

お礼

お世話になります100単位なので最後の行は102です、出来ればお願いします。

回答No.1

それでは列Dは空いていますね? 全自動ではないですがやりかたをひとつ。 もし1行目が項目行だとしたら2行目以降がデータ(曲名等)ですね? それならD2セルに =PHONETIC(A2) と入れて、下までドラックしてください。 振り仮名が表示されると思います。 次にデータ範囲を選択して、メニューバーからデータ→「並べ替え」でD列を基準にして昇順で並べ替えを指定。 これでアイウエオ順になります。 (ただし、フリガナは入力した際の読み方で出ます)

関連するQ&A

専門家に質問してみよう