Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
手離れの良いExcel VBA / non-personalized-excel-vba
Search
tunemage
June 28, 2023
1
89
手離れの良いExcel VBA / non-personalized-excel-vba
tunemage
June 28, 2023
Tweet
Share
More Decks by tunemage
See All by tunemage
IPO準備プロジェクトにエンジニアとして参加した話 / IPO preparation project
tunemage
1
110
『データモデリングでドメインを駆動する』で繋がる体験 / Drive domain with data modeling
tunemage
0
130
Vueによる自作簡易DSL / Simple DSL with Vue
tunemage
1
130
本を年100冊読むためにしている事 / my-way-to-read-100-books-a-year
tunemage
1
660
システム監査についての学びと今後の課題 / learning-about-system-auditing
tunemage
1
1.5k
システム内製の原則 / principles-of-in-house-system-development
tunemage
3
2.2k
業務システムの概要とその選択肢_公開用_.pdf/Overview of business system
tunemage
2
1.2k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
A designer walks into a library…
pauljervisheath
204
24k
A Philosophy of Restraint
colly
203
16k
Agile that works and the tools we love
rasmusluckow
328
21k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
手離れの良いExcel VBA @tunemage
自己紹介 • つねまげ(@tunemage) • 現職、SaaSベンダー勤務(SRE ->ユーザーサポート) • 主業務の傍らkintoneやPowerAutomateも触る • 今でも現役の社内SEと言い張ってる
• 前職、製造業企業に勤務( 情報システム) • 同僚の休職により一時「ひとり情シス」状態に • 主業務の合間に、経理部門や事業部門の依頼でExcel VBA開発 • 販売管理システム開発・IPOプロジェクト・ セキュリティ・AD管理・各種SaaS管理・PC等の 発注・購買etc • それ以前(SE/プログラマー) • ERP開発・ 教育システム開発・スマホアプリetc • フリーランスも少し
【Web版補足】 情シスの主業務の傍ら、経理や事業部門の依 頼でVBAを開発してきました。手離れの良い (属人化しにくい)VBAの設計についてお話 します。そこで学んだ個人的知見を共有しま す ※LT時は口頭で話した内容です
まず結論。手離れの良いVBAは(私見) • ユーザーの自由度は極力広く • ソースコードは極力薄く →ユーザーが能動的に判断できる設計
例1. VBA以外の方法も検討 • 色付けは条件付き書式に • 集計はピボットテーブルに • 単にセル参照だけで事足りる場合も • 基幹システムの機能でできないか?
→「マクロで」と依頼されても、先入観を持 たず仕様検討
例2. パラメータや変換表はシートに持つ →可変的な要素を見極めて、ユーザー自身が メンテしやすいように
例3. Excelシートは業務に寄せる • 例えば、原価計算なら原価計算表 • 勤怠業務なら勤怠表 • ユーザーが目検で検算できるように • 開発者もユーザー業務を理解して
→最悪、トラブル時は手計算に切り替えられ るように
例4. セルを直接更新しない • 元シートのセル値を直接更新しない • 処理の結果は別シート/別ファイルで出力 • 処理過程もシートに出力する →冪等性を考慮した設計で、ユーザーも開発 者も楽になる
まとめ • ユーザーの自由度を広く • ソースコードは極力薄く →これでユーザーとのコミュニケーションも スムーズに 皆さんのご意見もお聞かせください
【おまけ】おすすめ書籍 • パーフェクト Excel VBA(高橋 宣成 ) →Excel VBAのオブジェクトや文法について体系的に学ぶには本書が 最高
• 会計ソフトのすき間を埋める 経理のExcel仕事術(羽毛田 睦土 ) →経理業務のユースケースが学べる • いちばんやさしいPowerPoint VBAの教本(伊藤潔人 ) →数少ない、パワポVBAの書籍