【実践記録】非エンジニアの私が、AIと組んでExcel VBAのアンケートフォーム制作を受注した全工程

AI × 副業・収益化

「Excel VBAでアンケートフォームを作ってください」

クラウドワークスでこの案件を見つけたとき、私が最初に感じたのは「できなさそう」ではありませんでした。

私はこれまで、独学のVBAでパート・アルバイトのシフト表作成ツールや、総勘定元帳の印刷ツールを作ってきました。だから募集要項を読んだ瞬間、なんとなくの制作イメージは湧いていたんです。

代わりに頭をよぎったのは、こんな本音でした。

「イメージは湧く。でも、コードを書くのがめんどくさい」 「どうせトライ&エラーで、何度も書き直すことになるんだよな」

VBAを触ったことがある方なら、この感覚は分かっていただけると思います。作りたいものは頭にあるのに、それを動くコードにするまでの道のりが、とにかく長い。

エラーが出るたびに調べて、直して、また動かして。この繰り返しに時間を吸い取られるのが、いつもの光景でした。

それなのに、今回は迷わず応募しました。

理由はシンプルです。その「一番めんどくさいコードの記述」を、AIに任せられると分かっていたから。

つまり私に残されるのは、「何をどう作るか考えること」と「できたものを検証すること」だけ。そこさえ自分がやれば、この案件は成立する――そう判断できたんです。

この記事では、応募から納品まで、実際にどんなやり取りがあり、どこでつまずき、AIをどう使い倒したのかを、成功も失敗も包み隠さず記録します。

これから「非エンジニアだけどAIで副業に挑戦したい」と考えている方の、リアルな参考になるように、具体的に書いていきます。


そもそも、どんな案件だったのか

依頼内容はこうでした。

  • Word原稿をもとに、Excelでアンケートフォームを作成
  • 質問は12問ずつ、アンケートは2種類
  • 各質問にA・B・Cの3択、ラジオボタンで選択
  • 最後にA・B・Cの選んだ数を集計し、診断結果を表示
  • 職場の職員に配布できる形式で

報酬はアンケート1つにつき1,500円、2つで計3,000円が目安。

先に結論を言っておくと、この案件は最終的に3,000円のまま決着しました。後述しますが、やり取りの回数や追加対応を考えると、決して「割のいい案件」ではありません。

それでも私がこの案件から得たものは、金額以上に大きかった。その理由も含めて、順を追って書いていきます。


応募:見積もりは「条件付き」で出す

まず応募の段階から、私はAIに壁打ち相手になってもらいました。

やったのは、応募メッセージを2パターン作ること。ひとつは仕様をしっかり確認する「丁寧型」、もうひとつはスピード重視の「即応型」です。

今回はスコープが比較的はっきりしていたので、確認事項を2点だけに絞りました。

応募時に確認したこと ① ラジオボタンは「フォームコントロール(排他選択)」での実装で問題ないか ② 診断結果の文言(「Aが多い人は◯◯タイプ」の◯◯部分)は原稿内で提供されるか

見積もりは、いきなり金額を固定せず「ご提示のとおり3,000円を目安に、①②が確定した段階で正式に確定させていただければ」という条件付きで出しました。

これは経理の仕事で染みついた感覚です。見えていないコストを、先に握っておく。ここを曖昧にすると、後で「思ったより手間がかかったのに金額は据え置き」という事態になります。


サンプル作成:まず「動くもの」を見せる

応募が通り、クライアントから「サンプルを作ってほしい」と依頼が来ました。

ここで私が最初に作ったのは、ドロップダウン選択式のシンプルなサンプルです。ラジオボタンではなく、セルの選択リストでA・B・Cを選ぶ形。

なぜかというと、まず「集計と診断のロジックが正しく動くこと」を、確実に見せたかったからです。

ラジオボタン(フォームコントロール)は見た目こそ本格的ですが、実装が少し複雑で、いきなり作り込むとロジックの検証がしづらい。だから第一段階では、堅実に動くドロップダウン版でロジックを固めました。

このとき、AIと一緒に同数だったときの処理まで作り込みました。

  • Aが一番多ければ「Aが一番多いあなたは◯◯タイプです」
  • A・Bが同数なら「A・B(同数のため複数タイプに該当します)」

こういう細かい分岐は、いくつものパターンを想定して一つずつ検証する必要があります。この「パターンを網羅して検証する」作業こそ、AIと人間の協業がハマるところでした。


ラジオボタン版:ここが最初の技術的な壁

クライアントから「ラジオボタン版でお願いします」と返事が来て、いよいよ本番の実装です。

ここで正直に書いておきたいことがあります。

Excelの「本物のラジオボタン」を、12問×2種類ぶん手作業で配置・グループ化するのは、現実的ではありません。

1問につきラジオボタン3つ+グループボックス1つ。12問で48個。これを2ファイル。手で置いていたら日が暮れます。

そこで採った方法が、「フォームを一括生成するVBAマクロ」を作るというものでした。

マクロを一度実行すれば、12問ぶんのラジオボタン・グループ化・連動セル・集計式・診断表示が、まとめて自動で組み上がる。この「作るための道具を作る」という発想は、AIと相談する中で固まっていきました。

ここでのポイント グループボックスで3つのラジオボタンを囲むと、その3つが「1つのグループ(排他選択)」になる。選んだ結果は連動セルに1・2・3として記録され、あとはCOUNTIFで集計できる。 この仕組みなら、選択と集計自体はマクロなしでも動く。つまり配布ファイルはマクロ不要の状態にできる。

この「配布ファイルはマクロなしで動く」という設計が、後々ずっと効いてきます。


2つ目のフォームと、仕様変更への対応

1つ目(一般生活編)が固まると、クライアントから2つ目(学校現場編)の依頼と、いくつかの追加要望が届きました。

  • アンケートの配色を薄いオレンジに
  • チェック漏れがあれば「チェックしていない項目があります」と表示
  • 結果を「Aなら青タイプ」「Bなら赤タイプ」「Cなら黄タイプ」に
  • 最多が同数なら「どれかの項目が一番多くなるように見直してください」と表示

診断ロジックが1つ目から変わったので、ここも未回答・途中・各タイプ・同数と、想定されるパターンを一つずつ検証しながら組み直しました。

さらにこの後、クライアントから「1つ目も同じ仕様に統一してほしい」と依頼が来て、一般生活編も作り直し。ここで、AIとの作業で地味に助かった工夫を紹介します。

診断結果の文言を、数式に直接書かずに専用のセル(別の列)へ追い出したのです。

こうしておくと、「青」「赤」「黄」やメッセージの文言を、クライアント自身がセルを書き換えるだけで変更できる。数式には一切触れずに済みます。この「後から文言を変えたくなる」というのは、実務では本当によくある話で、先回りして仕込んでおきました。


最大の山場:「配布用ファイル自動生成」で元ファイルを壊さない工夫

さて、この案件で一番ヒヤッとしたのがここです。

納品が進む中で、私はある仕組みを思いつきました。クライアントのファイルに、

  • 「シート保護設定」
  • 「シート保護解除」
  • 「配布用ファイル作成」

という3つのボタンを配置し、ボタンを押すだけで、保護のかかった配布用ファイル(.xlsx)が自動で作られるようにする、という仕組みです。

なぜこれを思いついたかというと、クライアントがPC操作に不慣れだと、やり取りの中で感じ取っていたからです。パスワード入力や保護設定の手順を毎回お願いするのは、負担が大きすぎる。ならばボタン一発で完結させよう、と。

ここは正直に書きますが、このアイデアは私自身の功績だと思っています。 クライアントの習熟度を見抜いて「何を自動化すべきか」を判断したのは、AIではなく私です。AIにすべて任せていたら、この発想は出てこなかったはずです。

ただ、アイデアと実装は別問題でした。

「配布用ファイルを作る」を素直に実装すると、恐ろしい罠があります。Excelは.xlsxで保存した瞬間にマクロを失うので、うっかりすると作業用ファイル自身が.xlsx化して、マクロが永久に消えるのです。これをやってしまったら、クライアントは二度とボタンを使えません。

そこで、AIと何度も検証を重ねて、こういう作りにしました。

元ファイルを壊さないための設計 ① 元ブックには一切触れず、アンケートのシートだけを「新しいブックにコピー」する ② コピー側から、動かなくなるボタン類を削除する ③ コピー側に保護をかけ、.xlsxとして保存する ④ 元の作業用ファイルは、自動で元の状態に戻す

この「コピーして、コピー側だけを加工する」という一点にたどり着くまで、いくつもの失敗パターンを想定して潰していきました。ここが、この案件で一番頭を使ったところです。


保護をかけたら、ボタンが押せなくなった話

もう一つ、実装中に見つけた落とし穴を共有します。

シート保護をかけると、標準の設定ではラジオボタンまでロックされて、押せなくなってしまうのです。「保護したら回答できない」というのは、このフォームでは致命的です。

これはフォームコントロールを保護対象から外す設定で回避できるのですが、こういう「やってみないと気づけない罠」は、必ず実ファイルで検証するしかありません。

さらに、連動セル(選択結果を書き込むセル)をロックしたまま保護すると、ボタンは押せるのに値が書き込まれず、集計が動かないという現象も起きました。これも検証して初めて発覚したものです。

こういうとき私は、AIに「こういう仕様にしたい」と伝えてコードを書いてもらい、必ず自分の手元(や検証環境)で実際に動かして確かめるというサイクルを回しました。AIの出したコードをそのまま信じて納品していたら、確実に事故っていました。


クライアント側で「マクロが動かない」トラブル

納品後、クライアントから「シート保護解除のボタンが効きません」と連絡が来ました。

画面のスクリーンショットを送ってもらって、原因はすぐ分かりました。

「編集を有効にする」と「コンテンツの有効化」を、同じものだと思っておられたのです。

この2つはよく似た場所に出ますが、まったくの別物です。

  • 「編集を有効にする」…ファイルを編集可能にするだけ(マクロは有効にならない)
  • 「コンテンツの有効化」…マクロを有効にする(こちらを押す必要がある)

そこで私は、**実際のスクリーンショットを使った「マクロ有効化の手順書」**を作って渡しました。文章だけで説明しても、PC操作に不慣れな方には伝わりにくい。ここでも「相手の習熟度に合わせる」という判断が効きました。

結果、クライアントは無事に自力で解決。このトラブル対応も、単価には表れませんが、信頼にはつながったと感じています。


納品後の「後日対応」まで含めて、案件は終わる

最後は、納品後に届いた「D列を削除して、レイアウトを整えたい」という要望でした。

クライアントが自分で削除しようとしても、保護されていてできない。これは意図した仕様です。行や列の削除・挿入を許すと、集計の参照先がずれてマクロが動かなくなる危険があるからです。

こういう「レイアウト自体の変更」は、こちらで対応するのが安全です。私が保護を解除して修正し、お返ししました。

案件は「納品して終わり」ではなく、こうした後日対応まで含めて一つの仕事なんだと、改めて実感しました。


結局、AIを使ってどうだったのか

ここまで読んで、「AIに任せて楽して稼いだ話」だと思われたら、それは違います。

正直に数字を書きます。報酬は3,000円。やり取りの回数と、追加対応の量を考えれば、時給換算では決して割のいい案件ではありませんでした。

でも、私はこの案件をやってよかったと、心から思っています。理由はこうです。

一番時間のかかる「コードの記述」をAIに任せられたのは、本当に助かった。 もしコードを自分で一から書いていたら、間違いなく割に合わない案件でした。

限られた納期の中で、コードを書く時間を圧縮できたからこそ、その分を検証と、クライアントの要望に応えるための改善に回せました。

AIを使う意義を、この案件で改めて認識できたように思います。

そして、もう一つ大事なこと。

配布用ファイル作成ボタンや、保護状態の表示を思いついたのは、クライアントの習熟度を見抜いた私自身の判断です。 AIにすべて丸投げしていたら、この発想は生まれませんでした。

AIは、コードを書く速度では私を圧倒します。でも、「クライアントが何に困るかを想像し、何を作るべきかを決める」のは、いまも人間の仕事です。


まとめ:非エンジニアがAI時代に副業で戦うために

この案件から得た学びを、2つに絞ってお伝えします。

1つ目。非エンジニアでも、AIと組めばVBA案件は受けられます。

冒頭に書いたとおり、私が最初に感じたのは「作れない」ではなく「コードを書くのがめんどくさい」でした。多くの非エンジニアにとって、本当の壁はアイデアではなく、それを動くコードにするまでの手間なのだと思います。

その一番の難所をAIが引き受けてくれる今、非エンジニアと専門家の差は、以前よりずっと小さくなっています。シフト表ツール止まりだった私が、48個のフォームコントロールを一括生成するマクロまで作れたのが、その証拠です。

2つ目。AIに丸投げせず、「検証」と「判断」をするのが人間の役割です。

AIの出したコードには、実際に動かすと見つかる落とし穴があります(保護でボタンが押せない、連動セルがロックされて集計が動かない、等)。これを潰すのは、必ず自分の手で検証するしかありません。そして「何を作るか」「相手の負担をどう減らすか」を決めるのも、人間にしかできない仕事です。

コードはAIに、判断は自分に。

この役割分担が腹落ちしたことが、3,000円という金額以上に、私がこの案件から得た一番の財産でした。

次にやることは、もう決まっています。この案件で作った**「配布用ファイル自動生成の仕組み」を、他の案件にも応用できる自分の武器**として整理しておくこと。そうすれば、次はもっと自信を持って、もう少し高い金額で提案できるはずです。


▶ あわせて読みたい

アーティファクト

アンケート生成 一般生活編

BAS 

Crowdworks vba survey

ドキュメント · MD 

マクロの有効化手順書

ドキュメント · DOCX 

アンケート生成 学校現場編

BAS 

操作手順書

ドキュメント · DOCX 

運用ボタン

BAS 

Crowdworks vba survey archive

ドキュメント · MD 

プロジェクトの内容

副業(ブログ、クラウドワークス、ココナラ)

あなたが作成

コンテンツ

アンケートフォームVer1.0.xlsm

xlsm

マクロの有効化.png
マクロの有効化②.png
マクロの有効化③.png

【本分合同人権研修 研修前自己診断アンケート】 <回答にあたっての注意点> ・このアンケートは、能力や適性などを測るものではありません。 提出したり誰かに見せたりもしません。研修前の自己診断として活用します。 直感で「こっち」と感じたものを1つ選択してください。 悩んだら「そうありたい自分」ではなく「本当の自分」に合う方を選択してください。 ・「一般生活編」「学校現場編」の選択項目A・B・Cそれぞれ一番選択したのが多かった記号を記録して研修にのぞんでください。 Ⅰ.一般生活編(全12項目) 1. 人から相談を受けたとき、あなたが無意識に最初にとる行動は? A:相手の気持ち

pasted

https://a.claude.ai/isolated-segment.html?v=4dff9f5116
タイトルとURLをコピーしました