会話しがちで「月面にガガーリン神社を建てる」といった言葉が出る。09:41年末年始Tweet広告を非表示にするもっと読むコメントを書く2019-12-31今年やったこと飲みに行って2次会の会計を立て替えて、翌日に請求したりするときに、KyashやPayPayで支払いしてもらうようにした。電車賃みたいに現金の方は切り上げで徴収する。若手はキャッシュレスで払ってくれて、おじさんたちは現金払いが多い。夢、ダーツの選手権が開催されている。adventar.org昨日はid:minemuracoffeeさんの「クラスの美少女の彼氏がExcelでした」の第6話でした。Excelラブコメと思わせつつ、急にバトルグルメ感が出てきました。今進んでいるところが起承転結の「承」だとすると、この先の転・結が楽しみですね。今回は今年2019年にVBAで失敗したことを書いていきたいと思います。1年間の失敗を振り返って、来年は同じ失敗をしないようにしたいものです。1.if文の条件式が全部評価されるとは知らなかった。具体的に何を作っていたのかをサッパリ忘れてしまったので、例で書きます。1ヶ月分の出勤簿を作ります。当月1日から最終日まで、1日1シートを作成します。シート名は日付とします。土日は出勤簿を作成しません。*1さらに何かしら処理がありました。書いたのが以下のようなスクリプトでした。Sub失敗していたのは下記の部分です。Then書いた意図としては、makeSheet関数で作ったシートのオブジェクトをbyrefで受けて、次の条件判定である何らかの処理(何を判定していたかを忘れたので、エラー要因になる処理を適当に記載しています...。)に進めようとしていました。土日でシートを作らない場合は戻り値がfalseになるから、「何らかの処理」は動かないだろう。思っていたところ、完全に失敗しました。VBAではANDの左側が成立していない場合でも右側の処理が走るそうです。私は初めてちゃんとプログラミングを勉強したのがC言語でしたので、条件式の中身を評価して成立しない事が判った時点で処理が中断されると思っていました。VBAは全部実行して評価するんですね。なにそれ、プロセッサの無駄遣いなのでは...?当該処理を書き直すと以下のようになります。If2.書き捨てるスクリプトでもちゃんとしよう。話は変わりますが、皆さんの職場では働き方改革、進んでますでしょうか。単純作業は極力減らして残業を抑えないといけませんが、人手不足で仕事をお願いする人もなかなか居ません。あと単純作業は眠くなるので、あんまりやりたくないですね。そんな労働者の味方がVBAです。先ほど作った出勤簿から今度は1ヶ月のサマリーのシートを作る事を考えましょう。先ほどの何らかの処理が拡充され、定型フォーマットが各シートに適用されたと考え、こんな感じになったとします。C6に日付、F30に1日の総労働時間が入っているので、これを1シートに纏める方法を考えましょう。Subはい、これを実際にやらかしました。C6とF30をダブルクォートで括っていないので変数と解釈され、「アプリケーション定義またはオブジェクト定義のエラーです。Explicitしてれば、未定義変数で見つかるのですが、書き捨てるつもりでサボっていたので、10分ぐらい悩むことになりました。昨日ハマったので急遽この記事に書いて供養することにしました。今回の投稿は以上です、新技術でも高度なテクニックでもありませんが、基本に立ち返ってVBAを上手く使って、単純作業を減らしていきたいですね。最後までご覧いただきまして、ありがとうございました。calendarに登録がないので、ミネムラコーヒー先生の「クラスの美少女の彼氏がExcelでした」の続きが読めるのではないでしょうか。追伸ところで、皆さんVBAの書き方を調べるとき、どうやってますか?私は検索でガーッと2,3個ページを読んでなんとなく使ってるんですが、イマイチ効率が悪い気がしています。あと、これは共感していただけるか判りませんが、なんかVBAの情報を載せているGoogle上位のサイトって若干妙なのが多くないですか?また、VBAを体系的に勉強したことがないので、おすすめの本があれば教えてください。宣伝つくりおきアドベントカレンダーにも寄稿しています。見る必要の無い記事です。tsukurioki.hatenablog.com*1:私は昨日まで19連勤でした。夢日記めちゃくちゃ怖い和服でおかっぱの日本人形が出てきて怖い。22:22夢Tweet広告を非表示にするもっと読むコメントを書く2019-11-24丁寧な暮らしバスマットを新品にした。年をとっているが頭が良く、日本語で会話ができる犬。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。