プログラミングとは
コンピューター(PC)は、こと計算については天才的な能力を持つが、その他の事については一般人の常識が通用しない子供のような存在です、
人間で言うなら、サヴァン症候群でしょう、
サヴァン症候群のPCに対して何かをしてもらいたい時に、それを文章で伝えるものがプログラムです。
プログラミングでは、あなたの常識は一切通用しないと思ってください。
見れば分かるでしょう
なんとなく分かるでしょう
そんなことは通用しません。
ましてや、
自分で判断してよ
なんてことが通用するはずもないのです。
商品CD、商品名、発注数、単価、金額
商品CD、商品名、単価
商品名、単価、金額が自動的に出るようにする。
(賢い小学生なら理解するかもしれませんが・・・)
「マスタ」シートに商品CDが見つかったら、同じ行にある商品名と単価を「発注」シートの商品名と単価に入れる。
「発注」シートに商品名と単価が入ったら、「発注」シートの発注数×単価を計算して金額に入れる。
これを、「発注」シートの商品CDが入っている全ての行について行う。
最初は、とにかく日本語で書いてみましょう。
ただし、簡潔明瞭に書きましょう。
だらだらした長文は、かえって分かりずらいものです。
書いた日本語の文章を読んで、小学生でもわかる文章かどうか見直してください。
この文章が書ければ、プログラムはほぼ完成したと言っても過言ではありません。
もちろん、この翻訳作業には言語の知識(文法、単語、慣用句等々)が必要ですし、翻訳作業に対する慣れも必要です。
しかし、基本的な文法さえ知っていれば、単語や慣用句は書籍やネットで調べれば大抵は直ぐに見つかります。
(ネットでこれらを見つける時には、当サイトも検索でヒットすることがあると思います。)
「文脈で分かるでしょ!」
何を使ってどこから取得するのか、省略せずにちゃんと書きましょう。
せっかく書いた日本語の文章なので、コピペでエディターに貼付けてコメントに使いましょう。
このコメントを見ながらプログラムを書き進められますし、
この段階で文章の不備(つまりは処理内容の不備)が見つかることも多々あります。
・・・「マスタ」シートの商品CDから見つけて・・・
これを翻訳する時、FindなのかMatchなのか、はたまたVlookupなのか・・・
このような事ばかり気にしてしまい人が多いように感じます。
どれでも良いのです。
今あなたが使える技術で書けば良いのです。
時々、このような場合に「どれが良いですか?」と聞かれることがありますが、
どれでも良いです、あなたが書きやすいもので書いてください。
このような事は、微々たる問題です。
その微々たる問題で悩んで時間を費やすより、さっさと書き進めて下さい。
最後まで書いて、正しく動かすことを優先してください。
プログラムは、正しく動かなければ、ただの落書きと言われても返す言葉がありません。
日本語の文章だって推敲するでしょう、プログラミングも同じことです。
書きっぱなしでは絶対にダメです。
もしこの時点で、
Findで書いたけどMatchの方が良いのでは・・・
そう感じたら、
正しく動いたプログラムコードはしっかりと保存した上で書き直してみましょう。、
決して、書き直しすることを面倒がってはいけません。
納得いくまで書き直してください。
この書き直しは、あなたのプログラミングのスキルを確実に向上させます。
ただし実業務で使うプログラムの場合は、納期の範囲内で行い費用対効果を考慮するのは言うまでもありませんが。
プログラミングを始めたが、なかなか上達しないという方に向けた助言になります。
ExcelマクロVBAで、サクッと自動化しようとしたときに、この文章化が必須という事ではありません。
頭の中で考えたことを、そのままVBAで記述できるなら、それで構いません。
私も、受注したシステム開発でなければ、いきなりVBAを書き始めますので。
話の例として単純なものをより詳しく文章にしたものです。
実際には、格段に複雑な処理になりますので、ここまで詳細に書かなくてもよいでしょう。
このような文章は、システム開発における工程では「詳細設計」にあたります。
システム開発に携わる人にとっては、当たり前の話であることを申し添えておきます。
同じテーマ「エクセル雑感」の記事
Excelマクロを書くのに○○力は必用か?
「offsetまとめ」検索ワードで非常に多いoffset
Excelのリンクの管理について
プログラミングとは
「ネ申Excel」問題 への同意と反論
「Excel3ステップ理論」3階層システムの応用
「ポケモンを確実に見つける方法」をExcelで数学してみた
エクセルで「もういくつ寝るとお正月」
エクセルで連立方程式を解く(MINVERSE,MMULT)
VBAが消えてしまった!マクロが壊れて動かない!
スピらない スピル数式 スピらせる
新着記事NEW ・・・新着記事一覧を見る
第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方
|生成AI活用研究(2025-05-20)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!
|生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(5月16日)
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(5月15日)
すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。