VBAの問題がわからないのでどなたかご教授お願いいたします。
【問題】
札幌市の過去の気象データ検索より2014年5月の日ごとの平均気温および、札幌市の2015年5月の日ごとの平均気温のデータを入手してSheet1に表を作成した。
A列には日、B列には2014年5月のデータ、C列には2015年5月のデータを入力すること。
(正確なデータではないですが例として、添付しました。)
2014年5月と2015年5月の平均気温、最高気温、最低気温を表示するプログラムを作成しないさい。
動作は以下のようなものです。
1.Sheet1にある実行開始ボタンを押すと、下のようなフォームが表示される。
年選択ができるコンボボックスと計算、クリア、終了ボタンを3つ、平均気温、最高気温、最低気温を表示するラベルの作成
(この部分はできているので大丈夫です。)
2.コンボボックスから年を選択してから計算ボタンを押すと、選択した年の平均気温と最高気温、最低気温が表示される。結果の表示の際はFormat関数を使いなさい。
この2番目の最高気温、最低気温、平均気温の表示の部分がわかりません。
For ~ Next文を使って作りたいと思っています。
よろしくお願いします
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
たまたま、別件で同様の質問があったついでに、こちらも解いてみました。
この質問自体を検証してみましたが、ご質問者さんが、まだ良く整理されていないようです。
教えてもよく分からないのではないかという懸念が沸き起こります。
2014年5月のデータの始まりが、B3
2015年5月のデータの始まりが、C3
と縦のデータとします。
以下にはクリアボタンがありません。その代わりとして、vMin =100, vMax =-100にしてあります。実際は、関数で処理するのが常套手段です。
'//UserForm モジュール
Private Sub UserForm_Initialize()
Worksheets("Sheet1").Activate
Me.ComboBox1.List() = Array("2014", "2015")
End Sub
Private Sub CommandButton1_Click()
Dim sh1 As Worksheet
Dim Avg As Double
Dim vMax As Double
Dim vMin As Double
Dim vTotal As Double
Dim x As Long
Dim st As Long
vMin = 100
vMax = -100
Avg = 0
x = ComboBox1.ListIndex + 1
If x = 0 Then Exit Sub
cnt = Val(Cells(Rows.Count, 1).End(xlUp).Value) '31
st = 2 'スタート
For i = 1 To cnt
If vMax < Cells(i + st, x + 1).Value Then
vMax = Cells(i + st, x + 1).Value
End If
If vMin > Cells(i + st, x + 1).Value Then
vMin = Cells(i + st, x + 1).Value
End If
vTotal = vTotal + Cells(i + st, x + 1).Value
Next
Avg = vTotal / cnt
Label1.Caption = Format(Avg, "##0.0")
Label2.Caption = Format(vMax, "##0.0")
Label3.Caption = Format(vMin, "##0.0")
End Sub
No.2
- 回答日時:
No.1 の訂正
リンクがうまく出来ないようなので以下のリンク先の「都道府県 選択」で「石狩」を選んで、その中の「札幌」を選んで「年」「月」を選んで「2014年5月の日ごとの値を表示
」を選んで表示してください。申し訳ございませんでした。
http://www.data.jma.go.jp/obd/stats/etrn/index.p …
No.1
- 回答日時:
回答ではありません
そもそも平均気温からは「最高気温」「最低気温」は出せませんが良いのですか?
例えば以下は札幌の2014年5月データです。
http://www.data.jma.go.jp/obd/stats/etrn/view/da …
平均気温の欄をいくら見ても最低気温や最高気温と一致するものが無いと思うのですが…
また逆に最低気温と最高気温からも平均気温は出せません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- ガーデニング・家庭菜園 耐寒温度について。植物。 3 2022/08/03 16:36
- 地球科学 地球科学 温室効果の問題です。 3 2022/07/24 11:46
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- 宇宙科学・天文学・天気 4月の下旬の東京は、上着いらないですかね?? 去年のデータとして最高気温21度くらい、最低気温12度 2 2022/03/24 19:35
- 環境・エネルギー資源 地球温暖化の本当の原因についての質問です 6 2023/07/07 13:26
- 宇宙科学・天文学・天気 過去の気象データに残るのは1日を通しての最高気温、最低気温なのになぜ予報は1日後だけ最高気温は日中の 4 2022/11/05 17:43
- 宇宙科学・天文学・天気 1993年の夏の気候を覚えている方はいますか? 6 2022/06/05 12:34
- 宇宙科学・天文学・天気 予報する側は1年の気候のサイクルを知っているのに、データと予報が大きく違っている 1 2022/11/12 16:00
- 統計学 統計の課題なのですが、エクセルで1990年から2022年の8月の平均気温を分析したいのですがどんな表 2 2022/11/06 16:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
C# DataTableに最後に追加した...
-
XMLでデータとして画像を指定す...
-
「Nullの使い方が不正です」の...
-
Excel VBA で日付を4ケタの数値...
-
VB6のMsFlexGridコントロールに...
-
閉じたブックからデータを取得する
-
エクセル チャートを重ねても ...
-
ListViewで表示されたデータの...
-
Excel VBAでフォルダ内の全テキ...
-
【VB.NET】Excelの最終行までの...
-
HTTPストリーミングによるデー...
-
エクセルVBA WEBからデータ取...
-
富士通(汎用機)のAIMについて
-
クリスタルレポートでレコード...
-
テキストファイルのフィールド...
-
VBA 変数名に変数を使用したい。
-
VBとアクセスでSQL文に変...
-
accessでフィールド追加のあと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
XMLでデータとして画像を指定す...
-
【VB.NET】Excelの最終行までの...
-
C# DataTableに最後に追加した...
-
Excel VBAでフォルダ内の全テキ...
-
VBAコンボボックスの内容が反映...
-
COBOL数値転記の仕様
-
エクセルのセル最終行取得
-
エクセルデータをVBで検索でき...
-
アクセスでウェブ上のデータを...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
非同期のプロセス間通信(パイプ...
-
エクセルのCSV読み込みについて
-
MSFlexGrid 行選択状態
-
java / jsp selectedについて
-
Excel VBA で日付を4ケタの数値...
おすすめ情報