- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル Rank関数をマクロで)
エクセルRank関数をマクロで作成する方法
このQ&Aのポイント
- エクセルのRank関数を使用する際に便利なマクロを作成する方法について紹介します。選択されたセルの右側に新しい列を挿入し、その列にRank関数を適用します。
- マクロを使用することで、繰り返し行うRank関数の作成作業を効率化することができます。具体的な手順としては、選択されたセルの右側に新しい列を挿入し、その列にRank関数を使って順位を計算します。
- マクロを作成するための基本的な手順を紹介します。まず、選択されたセルの右側に新しい列を挿入します。次に、新しい列の最初のセルにRank関数を入力して、そのセルから下に自動的にコピーします。最後に、選択されたセルと新しい列を選択します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>c3-c23を選択した状態でマクロを動かしたい >選択セルの右側に新規の列を挿入したい sub macro1() dim s as string s = selection.address(,,xlr1c1) selection.offset(0, 1).entirecolumn.insert shift:=xlshifttoright selection.offset(0, 1).formular1c1 = "=RANK(RC[-1]," & s & ")" end sub ぐらいで。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
回答No.2
No.1です。 たびたびごめんなさい。 前回のコード内の数式での >=RANK(C3,C$3:C$23,1) の最後の「1」を削除してください。 質問文に「降順」とありましたので、勘違いしていました。 普通に数値の大きい順のRANKでよい訳ですよね? 結局 >=RANK(C3,C$3:C$23) と普通にワークシート関数で大丈夫だと思います。m(_ _)m
質問者
お礼
tom04 様 ありがとうございました。 訂正までしていただき助かりました。大変勉強になりました。 わかりにくくて済みません、選択セルはC列とは限らずに任意の場所という意味でした。 大切に使わせていただきます。 簡単で恐縮ですが、お礼申し上げます。
- tom04
- ベストアンサー率49% (2537/5117)
回答No.1
こんばんは! ごくごく単純に Sub Sample1() Range("D:D").Insert Range("D3:D23").Formula = "=RANK(C3,C$3:C$23,1)" End Sub ではダメですか?m(_ _)m
お礼
keithin 様 ありがとうございました。お蔭様で解決しました。 汎用性が高くて助かります。 大切に使わせていただきます。 簡単で恐縮ですが、お礼申し上げます。