Upgrade to Pro — share decks privately, control downloads, hide ads and more …

手離れの良いExcel VBA / non-personalized-excel-vba

tunemage
June 28, 2023
70

手離れの良いExcel VBA / non-personalized-excel-vba

tunemage

June 28, 2023
Tweet

Transcript

  1. 手離れの良いExcel VBA
    @tunemage

    View full-size slide

  2. 自己紹介
    • つねまげ(@tunemage)
    • 現職、SaaSベンダー勤務(SRE ->ユーザーサポート)
    • 主業務の傍らkintoneやPowerAutomateも触る
    • 今でも現役の社内SEと言い張ってる
    • 前職、製造業企業に勤務( 情報システム)
    • 同僚の休職により一時「ひとり情シス」状態に
    • 主業務の合間に、経理部門や事業部門の依頼でExcel VBA開発
    • 販売管理システム開発・IPOプロジェクト・
    セキュリティ・AD管理・各種SaaS管理・PC等の
    発注・購買etc
    • それ以前(SE/プログラマー)
    • ERP開発・ 教育システム開発・スマホアプリetc
    • フリーランスも少し

    View full-size slide

  3. 【Web版補足】
    情シスの主業務の傍ら、経理や事業部門の依
    頼でVBAを開発してきました。手離れの良い
    (属人化しにくい)VBAの設計についてお話
    します。そこで学んだ個人的知見を共有しま

    ※LT時は口頭で話した内容です

    View full-size slide

  4. まず結論。手離れの良いVBAは(私見)
    • ユーザーの自由度は極力広く
    • ソースコードは極力薄く
    →ユーザーが能動的に判断できる設計

    View full-size slide

  5. 例1. VBA以外の方法も検討
    • 色付けは条件付き書式に
    • 集計はピボットテーブルに
    • 単にセル参照だけで事足りる場合も
    • 基幹システムの機能でできないか?
    →「マクロで」と依頼されても、先入観を持
    たず仕様検討

    View full-size slide

  6. 例2. パラメータや変換表はシートに持つ
    →可変的な要素を見極めて、ユーザー自身が
    メンテしやすいように

    View full-size slide

  7. 例3. Excelシートは業務に寄せる
    • 例えば、原価計算なら原価計算表
    • 勤怠業務なら勤怠表
    • ユーザーが目検で検算できるように
    • 開発者もユーザー業務を理解して
    →最悪、トラブル時は手計算に切り替えられ
    るように

    View full-size slide

  8. 例4. セルを直接更新しない
    • 元シートのセル値を直接更新しない
    • 処理の結果は別シート/別ファイルで出力
    • 処理過程もシートに出力する
    →冪等性を考慮した設計で、ユーザーも開発
    者も楽になる

    View full-size slide

  9. まとめ
    • ユーザーの自由度を広く
    • ソースコードは極力薄く
    →これでユーザーとのコミュニケーションも
    スムーズに
    皆さんのご意見もお聞かせください

    View full-size slide

  10. 【おまけ】おすすめ書籍
    • パーフェクト Excel VBA(高橋 宣成 )
    →Excel VBAのオブジェクトや文法について体系的に学ぶには本書が
    最高
    • 会計ソフトのすき間を埋める 経理のExcel仕事術(羽毛田 睦土 )
    →経理業務のユースケースが学べる
    • いちばんやさしいPowerPoint VBAの教本(伊藤潔人 )
    →数少ない、パワポVBAの書籍

    View full-size slide