5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
たかちゃんさんの投稿
(投稿ID: 4988)
時刻が9:00の行の日時と気温データを取得しグラフを作成する
マクロを作成してみました。
Excel2019で動作確認済み。
前準備
1.気象庁のページからCSVファイルをダウンロードする
場所:羽田と八戸
取得データ:気温
期間:2020/12/1~2020/12/31
2.以下のような名前をつけて、kion という名前のフォルダの中に入れておく
HanedaDec.csv
HachinoheDec.csv
マクロの動き
1.9:00の行のデータのみ取得。
2.配列に格納
3.CSVのファイル名のシートを作成し、データの書き出し&折れ線グラフを作成
CreateGrapthに関しては、自動記録で作成しました。
【参考URL】
http://it-benkyou.seesaa.net/article/435728508.html
田中 宏明さんのコメント
(コメントID: 7102)
すごいですね。
csvFile.Close の書き忘れ以外は完璧だと思います。
お遊びですが、配列からセルへの書き戻しをシンプルにし、変数の数も減らしてみました。
> 気象庁のページから以下の条件で、CSVファイルをダウンロードし
> 時刻が9:00の行の日時と気温データを取得しグラフを作成する
> マクロを作成してみました。
たかちゃんさんのコメント
(コメントID: 7103)
いつもありがとうございます!
Close、すっかり忘れていました。。
変数の数も減り、見違えるほどスッキリし読みやすいです。
Resizeとは何だろう?何故Transposeをしているんだろう?と思い
試しに、以下のように設定し動かしてみたら、何故だか分かりました。(;゚Д ゚)
Split(csvData, ",")(0)のような書き方があるのも、初めて知りました。
モジュール変数使わずに、引き渡した方が可読性が上がってとても良いですね。
こんな風に書けば良いのかと、とても勉強になりました。
毎回、本当にどうもありがとうございます!!!
> すごいですね。
> csvFile.Close の書き忘れ以外は完璧だと思います。
>
> お遊びですが、配列からセルへの書き戻しをシンプルにし、変数の数も減らしてみました。
田中 宏明さんのコメント
(コメントID: 7106)
こちらこそ、コメントありがとうございます。
> Resizeとは何だろう?
セル範囲のサイズを変更するResizeプロパティは、セル範囲をスライドするOffsetプロパティとの組合せで役立つことがあるかもしれません。
例えば、セルA1を含む表のセル範囲を1行下にスライドし、セル範囲のサイズを「行数 - 1」行に変更する場合、以下のようになります。
小川 慶一さんのコメント
(コメントID: 7109)
おはようございます。
すごいですね。。本当に。もはや、ただただ、レスペクトするよりないです。
とはいえ、いろいろなコードを見て学ぶのも楽しい時期かなとも思いますので、いただいたコードを元にして、全体をリファクタリングしてみました。
[1] 複数の処理を担うことで行数が多くなっているプロシージャを極力分割。
[2] 自動記録で生成されたコードからselect, selectionをはずす。Withを使って整形してみた。
[3] 既存シートがある場合の処理を追加。(On Errorでエラー処理内で書いてしまうののは、雑だけど有効な書き方です)
等々。
[1]は、どこまでやるかは、状況と、好み次第かと。
僕は(特に、最近の僕は)、機能ごとに分割するのが割と好きです。
こういうのは、未開拓の状態から最初にたたき台を作った方の功績がいちばん大きいです。既存のものをいじるのは、たたき台になる最初のコードを生成するより簡単です。なので、人の努力の上に乗っかっているだけというようなモンですが。
たかちゃんさんのコメント
(コメントID: 7112)
おはようございます。
ネットで良さそうな題材を見つけ、実際の仕事を想定して
試行錯誤していました。早速、教えて頂いた情報をもとに
複数ファイルのコードを改良していきたいと思います。
本当にいつもありがとうございます。m(_ _)m
ユーザ側を考慮してフォルダを選択させるなど、ちょっとした事ですが
あると無いでは全く違いますね。(^^)
因みに、[データ]→[データの取得」や[テキストまたはCSVから]を
試した所、文字化けもなく綺麗に開きました。
今回のパターンは、必要なデータをシートにコピー出来ればよいだけ
なので、こういった方法もあるのだと勉強になりました。(^^;
(日付は、別途追記で。)
> たかちゃんさん、田中さん:
>
> おはようございます。
> とはいえ、いろいろなコードを見て学ぶのも楽しい時期かなとも思いますので、いただいたコードを元にして、全体をリファクタリングしてみました。