• ベストアンサー

今日からトライしているexcel vbaの初心者です。

earthkun14の回答

回答No.1

頑張って勉強してくださいね!! Sub ランク付け() Dim RN As Range Dim RNKStr(0 To 10) As String Dim i As Single RNKStr(10) = "ss" For i = 9 To 0 Step -1 RNKStr(i) = Chr(96 + 10 - i) Next Set RN = ActiveSheet.Cells(1, 1) Do Until RN.Value = "" Select Case RN.Value Case Is < 50 RN.Offset(, 1).Value = RNKStr(0) Case Is > 95 RN.Offset(, 1).Value = RNKStr(10) Case Else RN.Offset(, 1).Value = RNKStr(Int((RN.Value - 50) / 5) + 1) End Select Set RN = RN.Offset(1) Loop End Sub ちなみに、50-54は50点以上54点以下だとすると、50点の条件分岐が重複してしまいます。 上のコードはjは50点未満にしてあります。

squawk77
質問者

お礼

ご回答ありがとうございました。 これを機会にvbaにトライしてみたいと思います。

関連するQ&A

  • 先般、下記のvbaのコーディング事例の回答を頂きました。

    先般、下記のvbaのコーディング事例の回答を頂きました。 再度ご質問させて頂きたく、よろしくお願いします。 質問1 a列に点数を入力すると同時にb列に表示させたい。 →This workbookのPrivate Sub Workbook_Open()にvbaを登録するのでしょうか? 質問2 a列に点数が入力された場合のみb列を表示させたい。 =================== a1~a100のセルに点数が入力されているとします。 その点数を元に下記の通りb列にランクを自動的に付ける場合の vbaのコーディングはどうなりますか? ss(95以上) a(90-94) b(85-89) c(80-84) d(75-79) e(70-74) f(65-69) g(60-64) h(55-59) i(50-54) j(50以下)

  • Excel2003、VBAにて。

    Excel2003、VBAにて。 シートを自動で追加し、追加したシートのA1セルに全シート数を設定する方法が分かりません。 どなたか教えてください。

  • Excel2000VBAでのセル参照について

    Excel2000のVBA自動記録である構文をつくりました。 その中で、セルやレンジを特定しているのですが (A1)や(A1:B10)とか.. その後シートの行や列を追加あるいは削除した時に、この部分を自動的に対象のセルやレンジに書き換わる方法というのはあるのでしょうか? (関数式なんかは、自動で参照するよう書き換わるのですが、そのようなイメージです) 初心者です。何卒よろしくお願いします。

  • Excel2003 VBAでSUMUPさせたい

    いつもお世話になっています。 A1セル = 2 A2セル = 10 A3セル = 5 …… A10セル = 3 と適当な数字が入っているとします。 VBAにて、A1セル~A3セルの値の合計を書きたいのですが、 どうコーディングしたらよろしいでしょうか? ※ = A1+A2+A3 というのは不可です 不明な点があればご指摘下さい。 補足させていただきます。 よろしくお願いします。

  • EXCEL-VBA の round関数

    EXCEL-VBAで Cells(1, 1) = Round(Cells(3, 3), 0) として、 C3 に28.5 を入力し、上のマクロを実行すると、 A1には、28と表示されてしまいます。 ワークシート関数の =round(c3,0) を他の適当なセルに入力すると、 その返り値は、29 とちゃんとなります。 c3が 28.5001 とかだと両者ちゃんと 29 となります。 これは、VBA関数のバグなりスペックなのでしょうか?

  • Excel-VBAで色を付けたいのですが..(初心者の質問です)

    よろしくお願いします。 データが点在されて入力されたExcelのSheetがあります。 それぞれのセルに色が付いています。(パターンでの地色) データが入っていないセルは自動になってます。(見た目は白) それをデータが入っていないセルだけの色を、一括で他の色にしたいです。(たとえば黄色とか) VBAであっという間に出来る方法(構文)を教えて下さい。

  • VBA教えてください

    セルB5からF5に各列の平均値が入力されています。 B5からF5の値をH6からL6にも表示されるVBAを作りたい のですが教えていただけないでしょうか? 関数でを使えば簡単ですが数式を表示したくないので お願いします。

  • VBAの構文をお願いします Excelです

    宜しくお願いいたします。 Rigth関数をVBAで行うときの構文教えてください。 Sheet1のA1セルに123456があります、Sheet2のA1セルに右から2つすなわち56をコピーするにはどのように構文すればよいのですか。Lefe、Midもこれが分かればできると思います。

  • Excel関数コピーについて

    Excel関数を横にコピーした時に、 その前の関数の次の列から計算式を作成したいのですが可能でしょうか? D1セルには、=SUM(J2:L2)が入ります。 (B1の関数であれば、A1がC2まで計算しているのでD2からはじまります) A1セル B1セル C1セル     ・・・ =SUM(A2:C2) =SUM(D2:F2)  =SUM(G2:I2)  ・・・ 教えてください。

  • Excel2002VBAを使って集計値を自動入力

    Excel2002を使用しています。 コード  件数  区分 201    1    1 202    2    3 201    1    5 201    2    2 202    1    4 203    4    1 201    2    1 202    3    5 sheet1に“コード”をセルA1とする上記のような リストがあるとして、sheet2のセルA1に コード201の区分1と2の件数の計5と コード202の区分3と4の件数の計3の合計8を Excel2002VBAを使って自動入力したいのですが 書き方が思いつきません。 ご教授よろしくお願いします。