• ベストアンサー

マクロでのMAX,MIN

ExcelでのMAX(範囲),MINをマクロではどのように なるのでしょうか? 宜しくお願いします

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(1)ワークシート関数 Application部分は省略しても可。この場合、Applicationとはエクセルのことを指します。Maxは下記でMINの部分をMAXに置き換えてください。 Sub test01() m = Application.WorksheetFunction.Min(Range("a1:a6")) MsgBox m End Sub 文字列ばかりだと0、文字列が混じっていると無視する(0扱い)ようです。 (2)プログラムロジック Sub test02() Dim cl As Range m = Range("A1") For Each cl In Range("A1:a6") If m > cl Then m = cl End If Next MsgBox m End Sub Maxの場合は If m < cl Then m = cl と変える。 ついでに、A列内で考えるなら Sub test02() Dim cl As Range d = Range("A65536").End(xlUp).Row MsgBox d m = Range("A1") For Each cl In Range(Cells(1, "A"), Cells(d, "A")) If m > cl Then m = cl End If Next MsgBox m End Sub

miyarita
質問者

お礼

詳しい説明ありがとうございます。 MAXでのF1キーで、該当する項目がないと表示される 意地悪なHELPで困っておりました。 私のような初心者には表示されてたとしても理解困難な説明です。 m = Application.WorksheetFunction.Min(Range("a1:a6")) で目的を達することが出来ました。 本当にありがとうござとました。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

ワークシート関数をそのまま呼び出せます。こんなかんじ: Sub test() Debug.Print WorksheetFunction.Max(Range("A1:C3")) End Sub

miyarita
質問者

お礼

さっそくの回答ありがとうございました。 お礼が遅くなって申し訳ございませんでした。 これからも宜しくお願い致します。

関連するQ&A

  • エクセル スクロールバー Min/Max値

    ちょっとズレていたら申し訳ありません。教えてください。 エクセル「コントロールツールボックス」の「スクロールバー」にあるMinとMaxを 特定のセルにリンクさせたいのですが、どのようにすればよいでしょうか? 現在、下記でMinの値とリンクセルを試していますが、なかなか動きません。 Private Sub Worksheet_Calculate() ScrollBar1.LinkedCell = Range("A1") ScrollBar1.Min.Value = Range("A2") End Sub 教えてください。お願いします。

  • C言語で勉強中(max,min)の出し方

    C言語で勉強中(max,min)の出し方 maxまで表示が正しく出るようになったんですが、minでは終了時に入力の-999が表示されます。 今後、平均まで出るようにと考えているのですが、未だにminで思考停止中です。何がなんだかわかりません。どなたか、お助けください。 #include<stdio.h> main(void) { float cm,kg,m,bmi,max,min; int nin; cm=kg=nin=0; max=0; min=-0; printf("身長(cm)と体重を入力してください。\n"); while (cm=250,kg=200){ scanf("%f %f",&cm , &kg); max=min=cm; if(cm>max) max=cm; if(cm<min) min=cm; if(cm == -999 ||kg == -999) break; /*-999で終了 */ nin ++; m=cm/100.0 ; /* Mに変換 */ bmi=kg / m / m; /* BMIの計算 */ printf("身長%5.1f ",cm); printf("体重%5.1f ",kg); printf("BMI値%7.1f",bmi ); if(bmi>=25) printf("肥満です。\n"); if(bmi<18.5) printf("低体重です。\n"); if(bmi <25 && bmi>=18.5) printf("**.* \n"); } printf("総人数%d\n",nin); printf("最大身長%3.1fcm",max); printf( "最低身長%3.1fcm",min); return 0; }

  • excel エクセル関数 min max の使い方について質問します

    excel エクセル関数 min max の使い方について質問します セルA1とB1にある二つの数字を比較して小さい方を選びたい時は例えば =min(A1,B1) をC1に数式を入力すればで計算でき、大きい方を選びたいときは =max(A1,B1)で計算できることまでは学習できました A1 に 1 B1 に 2 で C1 に =min(A1,B1)と式を立てると C1 に 1 と返されることは判りました では片方に「0」ゼロがある時、「0」を選ばずに自動的に値のある方を選ぶにはどんな関数の書き方をすれば良いでしょうか? A1 に 1 B1 に 0 で C1 に =min(A1,B1)の式に何を加えれば C1 に 1 と返されるでしょうか? 行数A1からA1500くらいまでありますので 「0」の時だけ別な式を立てる訳には行かないので困っています はて? 初心者です ヨロシク御教示願います <m(__)m>

  • MAXデータから0を除いたMINデータを引きたい

    早速ですが、エクセルでセルに A1 2 A2 4 A3 0 A4 1 A5 3 がある場合、最大値は=MAX(A1:A5)で、0を除く最小値は=MIN(IF(A1:A5=0,"",A1:A5)で求められますがA6セルにMAX値から0を除くMIN値を表示させたく考えています。 計算式を=MAX(A1:A5)-MIN(A1:A5)だと0が含まれ、=MAX(A1:A5)-MIN(IF(A1:A5=0,"",A1:A5)だと、エラー(#VALUE!)となります。 どう設定すればよいか、ご知見ある方、ご教授よろしくお願いします。

  • 平均・MAX・MINを求めたいです。

    EXCEL初心者です。 お恥ずかしい質問ですが、教えていただけると助かります。 EXCEL2003です(添付資料は都合で2010を利用して作成していますが2003の場合で教えてください)。 添付のような課題提出までかかった日数とその件数の表があるとします。 (1)各自の提出日数の平均(AVE欄) (2)最大提出日数(MAX欄) (3)最少提出日数(MIN欄) この3つを求めたいのですが、どのような数式にすればよいのかわかりません。 山田さんの場合、答えとしては(1)3日(2)5日(3)2日となりますが、 関数を利用して算出したいです。 すみませんが、よろしくお願いいたします。

  • 2次関数のmax・min

    2次関数のmax,minについて困っています;; 先生方に聞いてもよく理解ができなかったので、 こちらで質問をさせてもらうことにしました。 【問題】 -1<a<0のとき 関数f(x)=-x&sup2;-2x+3(-2≦x≦a)のときのmax,minを求めよ。 私が出来たのは、 関数の式を平方完成する…というところまでです。 y=-(x+1)&sup2;+4 ∴頂点(-1,4) ここから先が解けません。 一応、頂点とその関数のグラフを描いた図を添付しておきました。 「場合分け」のしくみすらあまり理解できていないので、 詳しく説明していただけると有り難いです;; 宜しくお願いします!!

  • LONG_MINを使って、正常値かどうか確かめたい。

    こんにちは。30代の男性です。 C言語で、コマンドラインオプションから入力された2つの数字がlong型の範囲外であれば「正常値ではない。」と表示され、適正値なら加算が行われるプログラムを作っています。LONG_MINやLONG_MAXは正常値の範囲外の値かと思っていましたが、それぞれlong型の最小値と最大値なのですね。 -2147483648を入力しても正常に計算が行われ、-2147483649が入力されるとエラーが出されるようにするにはどのようにしたらよいでしょうか? よろしくお願いいたします。

  • 条件付のsum,max,min関数の書き方

    sum関数なので、合計欄のセルに ex.=SUM(B1:B6)などと書くときに、 a列が"1"の場合のみ合計欄のセルに加算したい場合は どうやって書けばいいでしょうか? __ A B 1 1 100 2 0 200 3 1 300 4 0 400 5 1 500 6 0 600 合計欄の値=900にしたいのですが.... もしも書き方があるのであれば、 MAX,MINの場合も同じでしょうか?

  • VSUMのユーザー定義関数にてMAXとMINを追加するには?

    VSUMのユーザー定義関数にてMAXとMINを追加するには? http://okwave.jp/qa/q1578916.html 上記の質問ページに記載されているユーザー定義関数にMAXとMINの 集計を追加をしたいのですが、どのように記述すれば良いのでしょうか? エクセルのVBAを勉強し始めたのですが、利用したいのが今月末の提出物なので、 記述が出来ずに非常に困ってます。 よろしくお願いします。

  • Excelのグラフでmin,maxの値指定したい。

    折れ線グラフを作る時、デフォルトでやるとグラフが偏ってしまって、変化が見えない。目盛りの範囲はどうして自動的に決めているんでしょうか。y座標のmin,maxの値を指定してグラフを作りたい。

専門家に質問してみよう