• 締切済み

VBAで特定範囲のセルの平均値を順次出力したい

VBAで特定範囲のセルの平均値を順次出力したい 前回の質問で誤りがあったため再投稿しました。 図のように各行列に値が出力されており,VBAで下記のように処理をしたいと考えています。 (1) 平均値を出すセルの範囲(例えば50X16)をVBAで指定できるようにし、その範囲の平均値を求める (2) (1)で求めた平均値を新しいSheetのあるセルに出力 (3) 上記の処理をある範囲(プログラムの中で変更)の列方向に適用していき,順次(2)のSheetに平均値を出力していく イメージとしては図のように黄(A2~J10)、青(A11~J20)、赤(A21~J30)の順に列方向の平均値を新たなSheetに出力したいのです。図では黄、青、赤の3領域しかありませんが、ここもプログラムで範囲指定をできるようにし、領域の数がいくらになってもよいようにしたいです。 どなたか上記の処理ができるプログラムを教えてください。よろしくお願いします。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

関連するQ&A

  • EXCEL VBAで特定のセルの値による判定について

    すいません、EXCEL VBAで質問があります。 A1~A9 空欄 A10 "赤" A11~A16 空欄 A17 "青" A18~A21 空欄 A22 "青" A23~A35 空欄 A36 "赤" ・・・ A列の1000行までの間にランダムに赤か青の値が入っています。 A列の空欄のセルについて、下のセルを見ていき、 最初に来る値が赤であれば、それまでの空欄に"りんご"、青であれば"みかん"という値を入れる処理をVBAでやるにはどうしたらいいのでしょうか。 上の例でいうと、A1~A9及びA23~A35のセルには"りんご"、A11~A16及びA18~A21のセルには"みかん"と入ります。 do until~loopやfor~nextでやろうとしましたがどうにもうまくいきません。 よろしくお願いいたします。

  • VBAマクロでCSV出力

    はじめまして、よろしくお願いします。 ExcelのVBAマクロで 特定のセルの範囲を「シート名.csv」で出力するようなプログラムを書きたいです。 例)シート名「TEST」内にあるマクロボタンを押すと  A1:A10のセルの内容が「TEST.csv」(アスキー形式ならなんでも)  に出力される。 どういうやり方があるか、お勧めのサイト等、 ご教授いただけないでしょうか? 以上、よろしくお願いいたします。

  • VBA 時間の表示の判定

    VBAで時間の判定をしたい場合 どのようなコードを書けばよいでしょうか? 条件書式や、書式設定などの方法はたくさん載っていますが VBAで行いたいです。 具体的はA1からJ1セルにh:mmのフォーマットで時間が表示されています。 マクロを実行すると、A1からJ1の範囲内で マイナス表示のセルは赤で塗りつぶし 0:15以内なら黄色で塗りつぶし 0:15以上なら青で塗りつぶしを行いたいです。 よろしくお願いします。

  • 入力規則により選択された値をVBAで変更する

    教えてください。 エクセルファイルのシート1のA1セルに入力規則(リスト)が設定してあります。 この参照リストは、セル「AA1:AA3」にあります。 AA1:赤 AA2:青 AA3:黄 このように入力されています。 このシート1のA1セルの値が「黄」であれば「赤」にVBAで変更したいのですが、 「Worksheets(sheet1).Range("A1").Value = "赤"」と記述しても変更してくれません。 ちなみに、このシートには保護がかけられています。 以上宜しくお願いします。

  • VBAでセルに色付けは?

    教えてください エクセルの条件付き書式では下記の 事ができません。 VBAでセルに色をつける 方法を教えて欲しいのですが。 例 セルA1 に 10   セルB1 に 入れた数字が      10以下なら   青   11から20なら 赤   21から25なら 黄   26以上なら   ピンク   と言う感じで  B1 のセルに   その数字と色を表示したいのですが   最終的には8色表示にしたいです。   よろしくお願いします   WINXP  EXCLは2002です

  • エクセルVBA ブック出力方法について(2)

    いつもお世話になっています。 以前にも同じ内容の質問をさせて頂いた者です。 回答を頂きましたが、当方説明不足および勉強不足のため、 再度質問させて頂きます。 元のファイルから、特定のセル部分のみを出力先ファイル(新規.xls)へブック出力したいのですが 方法がわかりません。 当方にて記述したVBAは以下ですが、満足のいく作成ができておりません。 矛盾および誤りを指摘できる方はご指摘頂けないでしょうか。よろしくお願いします。 Sub ブック出力() Sheets("Sheet1").Select Sheets("Sheet1").Range("リスト").Copy Sheets("Sheet1").Range("A1:J12").Paste Workbooks.Add ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\新規.xls" End Sub ※リスト→出力元ファイルのA1:J12までの範囲 ※出力元ファイル、出力先ファイルのシート名は不変です。(両方ともsheet1) ※出力先セル、出力元セルともに範囲は同じです。(両方ともA1:J12)

  • エクセルのVBAを使用したときのセル範囲について

    エクセルでVBAを勉強しています。(初歩です。初心者です。) マクロを記述したあと、エクセルシートに表示しますよね。 たとえば、今度は、Visual Basic Editorを使って、「上から3行目が赤」にしていたものを「上から5行目を青にする」という問題があったとします。Visual Basic Editor上でどうやったら、その指定しているセル範囲がわかるのでしょうか?つまり、上から3行を上から5行目にするといことです。 また、Visual Basic Editor上では、「色」を番号で表示しますが、これは覚えておく必要があるのでしょうか?たとえば「赤」は3番とか・・・・。 初心者ですのでご了承ください。

  • エクセルVBAで特定の範囲を検索したい

    VBAを使って、A1セルに入力した数値をA列から検索して、そのセルをアクティブにしたいのですが、検索範囲のA列を特定するにはどのようなコードが必要でしょうか?現状ではシート全体を検索してしまいます。 超初心者です。よろしくお願いします。

  • エクセルVBA 条件にあうときセルを塗りつぶすには?

    エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。

  • 【VBA】 ダブルクリックするとセルの色が変更する

    エクセルのA1:A5の範囲でセルをダブルクリックすると(色なし→赤→青→黄色)に変化する方法を教えて下さい。

専門家に質問してみよう