5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
たかちゃんさんの投稿
(投稿ID: 4921)
記念に投稿します。(動作確認済み)
最初に、AdvancedFilterをB2から指定した為、愛知販売が2つ出力という謎の動きをしてしまいました。
タイトル行から指定しないとダメです。
同様に、SumIfの合計値の範囲(G列)もG2から指定してしまうと、でたらめな金額が出力されしまい
気づくのにかなり悩みました。
前回の動画コメント12563の先生の参考コードと見比べて、やっと気づきました。
■Chap02ー71 Sheet2の課題
田中 宏明さんのコメント
(コメントID: 6925)
私も AdvancedFilterを再度試してみました。
Windowsでもデータ範囲(B2から指定)だと、愛知販売が2つ出力されました。これはハマりますね。
> Dictionaryの代わりに、AdvancedFileter&Sumif使用で描いてみました。
> 記念に投稿します。(動作確認済み)
> 最初に、AdvancedFilterをB2から指定した為、愛知販売が2つ出力という謎の動きをしてしまいました。
> タイトル行から指定しないとダメです。
> 同様に、SumIfの合計値の範囲(G列)もG2から指定してしまうと、でたらめな金額が出力されしまい
> 気づくのにかなり悩みました。
田中 宏明さんのコメント
(コメントID: 6926)
私もDictionaryとRangeオブジェクトを使わず、Collectionオブジェクトだけを使ってこの演習問題を解いてみました。実務ではこんな面倒なことはしないですが、頭の体操になりますね。結構、苦労しました。
> Dictionaryの代わりに、AdvancedFileter&Sumif使用で描いてみました。
たかちゃんさんのコメント
(コメントID: 6928)
さすが!今のDictionaryの理解がしっかりした頃に、Collectionについても再び調べて、こちらのコードを読みに再び戻ってきます!!!
> たかちゃんさん:
>
> 私もDictionaryとRangeオブジェクトを使わず、Collectionオブジェクトだけを使ってこの演習問題を解いてみました。実務ではこんな面倒なことはしないですが、頭の体操になりますね。結構、苦労しました。
田中 宏明さんのコメント
(コメントID: 6934)
AdvancedFilter この演習でリベンジしました。
実務では、素早い対応が必要とされることが大半なので、小川先生が最初に回答されたこのやり方が最良かもしれませんね。
たかちゃんさんとのやりとりを通じ、新しい手法を習得できました。
小川 慶一さんのコメント
(コメントID: 6935)
Advanced Filterについて公式ドキュメントを見てみました。
Advanced Filter メソッド (Excel)
https://docs.microsoft.com/ja-jp/office/vba/api/excel.range.advancedfilter
が、特にタイトル行についての記載はみつかりませんでした。
stackoverflowで調べてみると、「filter機能系のものはタイトルを含んでしまうけど、コピー完了してからコピー先の先頭セルを削除するてやりかたでどうだい?」みたいな回答をわずかにみつけるばかり。
https://stackoverflow.com/questions/31775564/advanced-filter-exclude-headers
まあ、タイトル行がもともと存在しないリストでAdvanced Filterを使いたい場合にはそういう感じにするんでしょうか。
あとは、僕なら、先頭行は、削除する代わりに、タイトル文字列を .Value で埋め込みたいところ。