• 締切済み

Ifステートメントと条件式を用いた、マクロの記述方式について質問です。

BMI値をもとに、Ifステートメントと条件式を用いて評価をするミクロを作成したいのですが・・・ (BMI値を算出、出力するマクロの記述まではできています) 判定した結果は、Range("B5")に文字列で表示するようにします。 [例]18.5未満の場合であれば「低体重 」となるようにしたいです。 ・BMI値 評価  (1)18.5未満 低体重  (2)18.5以上25未満 普通体重  (3)25以上30未満 肥満度1  (4)30以上35未満 肥満度2  (5)35以上40未満 肥満度3  (6)40以上 肥満度4 とりあえず、  If BMI値 < 18.5 Then 'BMI値が18.5未満の場合 として、その後、ActiveCell.・・・・以降の記述方法が分かりません。。。 1つ分かればあとは応用するだけなので、どなたか模範となる記述方法を示してもらえませんか? よろしくお願いします。

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

If文よりもCase文の方が簡単かと思います。 Sub test() Dim Bmi As Single Dim Mes As String Bmi = 18.5 Select Case Bmi Case Is < 18.5: Mes = "やせ" Case Is < 25: Mes = "標準" End Select Range("B5") = Mes End Sub

pwd3yvw27h
質問者

お礼

回答ありがとうございました! おかげで上手くマクロを完成させることができました^^*

関連するQ&A

  • Ifステートメントと条件式を用いた、マクロの記述方式について質問です。(その2)

    Ifステートメントと条件式を用いた、マクロの記述方式について質問です。(その2) 偏差値に対する評価を行う条件式を記述したいのですが。。。  評価基準-偏差値(下限値)  A-60  B-50  C-40  D-それ以下 評価については上述の条件基準に基づきます。 さらに繰り返しにより、セル2~27までの評価を行います。 そこで記述してみたのですが・・・↓ Sub 偏差値評価の出力() Dim x As Integer '偏差値(縦方向) Dim y As Integer '評価(横方向) '偏差値を取得する For x = 2 To 27 偏差値 = Cells(x, 3).Value '偏差値に対する評価を表示する For y = 2 To 27 If 偏差値 < 40 Then '偏差値が40未満 Cells(y, 4) = "D" ElseIf 偏差値 >= 40 Then '偏差値は40以上 Cells(y, 4) = "C" ElseIf 偏差値 >= 50 Then '偏差値は50以上 Cells(y, 4) = "B" ElseIf 偏差値 >= 60 Then '偏差値は60以上 Cells(y, 4) = "A" End If Next y Next x End Sub ↑これだとなぜか、全ての評価が「C」になってしまいます。 どこの記述が間違っているのでしょうか? どなたか教えて頂ければ助かります。

  • BMIはいい加減?

    BMIが18.5未満を痩せと言うそうですが、僕の体重は49kgで身長は164cmでBMIは18.2ですが、お腹が出ていてコレステロールなども高めです。あきらかに肥満です。そうするとBMIは25以上にならなくてはおかしいです。誤差って範囲じゃないです。 BMIはいい加減なんですか?

  • 正規分布についての問題です。

    あるクラスの生徒40人のBMI(ボディマス指数)は平均20.2、標準偏差4.6の正規分布に従っています。BMIが18.5未満は低体重とされ、25以上は肥満とされます。BMIが低体重または肥満と判定された生徒の数がクラスの全生徒数の10%以下になる確率を教えてください。

  • ファイルの入出力

    氏名・身長・体重が入っているファイルからデータを構造体として読み取りその人の肥満度を表示するプログラムを作りたいのですが一考にわかりません。。。誰か知恵を貸してくれませんか 肥満度は20未満が「やせすぎ」20以上25未満は「普通」25以上は「肥満」としています。ファイルには27にんのデータが入っています。肥満度の計算は関数を作成で、関数名はbmiで引数は構造体、戻り値は実数です。肥満度の計算は体重÷身長÷身長です。 構造体は自分で定義します。よろしくお願いします

  • 小数点以下の値を四捨五入し,指定した桁数に変換するためのマクロの記述方法について。

    BMI値を小数点以下1桁まで算出するマクロを作りたいのですが・・・ BMI値= 体重/(身長*身長) ↑BMI値自体はこの式で算出できるのですが、その数値を四捨五入し、小数点以下1桁まで算出する式が分かりません。。。 どうも「Application.WorksheetFunction.Round(小数値, 桁数)」を用いるようなんですが、どう応用したらよいのか・・・ 上述の式に組込んで書くor別途書く必要があるのか教えて下さい。 模範式も提示してもらえると助かります。 それでは回答よろしくお願いします!

  • BMIについて

    身長162センチ、体重50キロ、妊婦です。 身長・体重から計算する肥満度の判定方法のBMI指数だと19くらいです。 ですが、体重計で量るBMIでは28もあり、肥満になります。 やはり体重計のBMIが正しいのでしょうか? 痩せ型ですが、最近妊娠5ヶ月で最近つわりが終わったのもありすごい食べています。(甘いものなども) でも体重は増えてません。 肥満ということになるのでしょうか?

  • エクセルのマクロでセル選択の条件式の書き方

    いつもお世話になりありがとうございます。 Excel97です。 Worksheet_SelectionChangeマクロで、 Range("B2:D11")内のセルが選択されたときに動くマクロを書きたいのですが、条件式を With ActiveCell If .Row < 12 And .Row > 1 And .Column < 5 And .Column > 1 Then '実行するマクロ End If End With とIfの行を And、And、And で長々と書かず、Range("B2:D11")を使うなりしてもっと簡略な記述方法はないでしょうか? ご教示いただければ幸いです。

  • javaプログラムで背景色を変更するには

    java初心者中の初心者です。背景色の変更方法をお尋ねします。 具体的質問内容: BMI値(肥満度)に応じて背景の色が変化するようにしたい。 BMI値が20未満の場合は黄色、20~24未満の場合は緑、24以上は赤、エラーの場合は青になるように。 actionPerformedで、結果に応じてbgcolorを変更するのだと思いますがよくわかっておりません。 大変あつかましいお願いですが、記述そのものを御教示いただけると助かります。 ソースコードをここに載せたらいいのか迷ったのですが、必要であればお知らせください。 どうぞよろしくお願いいたします。

  • Excelの複数の条件にあった式を教えて下さい。

       A     B     C    D    E 1   4.7          16    8    3 2  5.8          0.0   3.0   6.0 3  4.5 4  2.16 5  3.55    ・    ・      ・    ・   Aの列には1日の平均気温が入力されています。(A31まで) B1に、「A1が16℃以上だったら0.0、8℃以上16℃未満だったら3.0、3℃以上8 ℃未満だったら6.0」と式を作り、B2から下の欄も、「  」内の条件でした いのですが、教えてもらえないでしょうか? 宜しくお願いします。 あらかじめ、C1~E1に16℃、8℃、3℃と言う意味で数字を入れています。 C2~E2にも、条件を満たしたら、この数字になりなさいという意味で数字を 入れています。 IF文を使ってB1に =IF(A1>C1,”0.0”,IF(D1≦A1>C1,”3.0”,IF(E1≦A1>D1,"6.0",""))) と式を入れたのですが、#NAMEとエラーが出てきます。

  • ペットの肥満度

    ペットの肥満度についてです。 犬や猫にもBMIのような簡単に肥満度がわかる方法ってありますか? 例えば犬だと犬種によって体長・体重も違うし、サイトによっては犬や猫の同じ種類でも平均体重等が違っていたりするので、是非教えてください。

専門家に質問してみよう