先日のYouTubeライブ「和風スパゲティAIを作ってみよう!」にご参加いただいた皆様、そしてアーカイブをご覧いただいた皆様、本当にありがとうございました!
圧倒的に読みやすい「日本語変数」を駆使する、月間数十万PVの大人気VBAブログ「和風スパゲティのレシピ」の哲学を詰め込んだ、自分だけの専属VBAメンターAI。多くの方に「これはすごい!」と反響をいただきました🎉
……が!ここで一つ、皆様に謝らなければならないことがあります。
「無料版のGeminiで試したら、(9)エラーが出て途中で止まっちゃった……😭」
せっかくワクワクしながらご参加いただいたにも関わらず、和風スパゲティAIのポテンシャルを存分に楽しんでいただけなかった無償版ユーザーの皆様、本当にごめんなさい!🙇♂️
今回はそのお詫びとリベンジを兼ねて、「なぜエラーが起きたのか?」「無料版でもサクサク動かすための特製データ」そして「AIがAIのためのツールを作った激アツな裏話」をお届けします!
💡 なぜ無料版だと「(9)エラー」が起きたのか?徹底的に調べてみました!

イベント終了後、「せっかく時間を割いて参加してくれたのに、エラーで止まってしまうなんて本当に申し訳ない……!」と、私自身めちゃくちゃ悔しい思いでいっぱいになりました。
そこで、「一体なぜ、無料版だけあんなにエラーが連発してしまったのか?」その原因を自分なりに徹底的に調べてみたんです。
結論から言うと、あの憎きエラーの正体はズバリ「AIのキャパオーバー(コンテキストの限界)」でした。
「コンテキストの限界」と言われても少しピンとこないかもしれないので、「人間の作業デスク」に例えて説明しますね。
今回のイベントでは、NotebookLMに約150個もの細かいテキストファイル(和風スパゲティさんのブログ記事などの知識)を読み込ませてAIを構築しました。 これは、AIというアシスタントの作業デスクに、150枚の細かいメモ書きを「バサバサッ!」と大量に散らかして置いたような状態です。
その上で、「この150枚のメモを全部読み込んで、独自のコーディングルール(変数は必ず日本語にする等)を絶対に守りながら、新しくVBAコードを書いてね!」とお願いしたわけです。
実は、無料版のGemini(裏側で動いている高速モデル)は、日常会話やちょっとした作業のスピードはピカイチなのですが、「一度に広げておける作業デスクの広さ(記憶容量)」には明確な制限があります。
- 150個もある細かいファイルを行ったり来たりして探す(整理整頓のコスト)
- 「日本語変数を使う」という独自のルールを常に意識し続ける
- それらを組み合わせながら、正確なVBAコードを出力する
これらを同時にこなすのは、無料版の限られた作業デスクの広さでは、処理能力の限界を超える「超ヘビー級のタスク」だったのです。
結果として、AIの頭の中が完全にパンクしてしまい、「ごめんなさい!これ以上はいっぺんに頭に入りきりません〜!🤯」とギブアップの白旗を上げてしまった……。これが、「Something went wrong (9)」というシステムエラーを吐き出して処理が落ちてしまった本当の理由でした。
📝 【目安】じゃあ、無料版はどれくらいなら大丈夫なの?
「なるほど、理由はわかった。じゃあ無料版だと、どれくらいのデータ量ならエラーにならずに動くの?」と気になりますよね。
色々と検証してみた結果、無料版のGemini(高速モード)で安定して処理できる限界ラインは、おおよそ「1回のやり取り(質問+読み込ませる参照データ)で、日本語で約2万〜3万文字程度」が安全圏の目安になります。
一般的なブログ記事に換算すると、だいたい10〜15記事分くらいですね。これを超えると、先ほどの「作業デスクからメモが溢れる状態」になりやすく、エラーの確率が跳ね上がります。
今回のイベントで用意した和風スパゲティさんの知識データは、なんと約150記事分!文字数にすると余裕で数万〜十数万文字を超えていたので……そりゃあ無料版のAIもパンクしちゃいますよね😅(本当にごめんなさい!)
🎁 無料版ユーザーへの救済策!「特製・結合済みファイル」配布

「じゃあ無料版じゃ和風スパゲティAIは作れないの?」 ご安心ください。AIの負荷を下げる簡単な解決策があります。それは「150個のファイルを、最初から1つの大きなテキストファイルに結合して読み込ませる」ことです!
ファイルが1つにまとまっているだけで、AIの「整理整頓の負荷」が激減し、無料版でもエラーを起こさずにスムーズな回答ができるようになります。
今回はリベンジ用として、【約150ファイルを1つに結合した特製テキストファイル】をご用意しました!ぜひこちらのデータを使って、もう一度NotebookLMで和風スパゲティAIを構築してみてくださいね。
👉 [結合済みテキストファイルのダウンロードリンク]
https://discord.com/channels/1298299998760472726/1471158851612053544
🤖 【裏話】実はこの結合ツール、和風スパゲティAIが作りました

ここからが技術ブログらしい面白い裏話です😎
先ほど配布した「150個のテキストを1つに結合したファイル」。これ、手作業でコピペしたわけではありません。実は、このテキスト結合用のVBAコード自体を「和風スパゲティAI」に生成させたんです!
百聞は一見に如かず。実際に和風スパゲティAIが、美しい「日本語変数」を使いこなしながら完璧な結合マクロを書き上げるまでのチャット履歴を公開します。
👇 和風スパゲティAIの神業を覗き見する(Gemini共有リンク)
https://gemini.google.com/share/c01380340c1c
Rem 参考URL
Rem 変数を日本語にすればプログラミングが上達する
Rem https://www.limecode.jp/entry/guideline/nihongo-variable
Rem 関数(プロシージャ)分割は思ってるより簡単です
Rem https://www.limecode.jp/entry/caprice/proceduresplit-iseasy
Sub フォルダ内のテキストファイルを一括結合する()
' 対象フォルダと出力ファイルのパスを設定
Dim 対象フォルダパス As String
対象フォルダパス = ThisWorkbook.Path
Dim 結合ファイル名 As String
結合ファイル名 = "結合結果.txt"
Dim 結合ファイルパス As String
結合ファイルパス = 対象フォルダパス & "\" & 結合ファイル名
' ファイル名順に結合するため、ArrayListにファイル名を取得してソートします
Dim リスト_ファイル名 As Object
Set リスト_ファイル名 = CreateObject("System.Collections.ArrayList")
Dim 取得ファイル名 As String
取得ファイル名 = Dir(対象フォルダパス & "\*.txt")
Do While 取得ファイル名 <> ""
' 既に結合結果ファイルが存在している場合はリストから除外する
If 取得ファイル名 <> 結合ファイル名 Then
Call リスト_ファイル名.Add(取得ファイル名)
End If
取得ファイル名 = Dir()
Loop
' テキストファイルが存在しなければ終了
If リスト_ファイル名.Count = 0 Then
Call MsgBox("対象のテキストファイルが見つかりませんでした。")
Exit Sub
End If
' ファイル名を昇順(ファイル名順)にソート
Call リスト_ファイル名.Sort
' 各ファイルを読み込んで結合用変数に格納していく
Dim 結合する全テキスト As String
Dim 処理ファイル名 As Variant
Dim 読み込みテキスト As String
For Each 処理ファイル名 In リスト_ファイル名
' UTF-8形式でテキストを読み込む(自作の汎用関数を呼び出し)
読み込みテキスト = Getテキスト_UTF8(対象フォルダパス & "\" & 処理ファイル名)
' ファイル間の区切りとファイル名を挿入してテキストを結合する
結合する全テキスト = 結合する全テキスト _
& "-------------------" & vbCrLf _
& 処理ファイル名 & vbCrLf _
& 読み込みテキスト & vbCrLf
Next
' UTF-8形式で新しいテキストファイルに書き出す(自作の汎用関数を呼び出し)
Call Writeテキスト_UTF8(結合ファイルパス, 結合する全テキスト)
Call MsgBox("ファイルの結合が完了しました!", vbInformation)
End Sub
' ----------------------------------------------------
' ▼ ここから下は汎用関数(プロシージャ分割)です
' ----------------------------------------------------
' UTF-8のテキストファイルを読み込む汎用関数
Function Getテキスト_UTF8(ByVal ファイルパス As String) As String
Dim Streamオブジェクト As Object
Set Streamオブジェクト = CreateObject("ADODB.Stream")
With Streamオブジェクト
.Type = 2 ' adTypeText
.Charset = "UTF-8"
.Open
.LoadFromFile(ファイルパス)
Getテキスト_UTF8 = .ReadText(-1) ' adReadAll
.Close
End With
End Function
' UTF-8のテキストファイルに書き込む汎用関数
Sub Writeテキスト_UTF8(ByVal ファイルパス As String, ByVal 書込テキスト As String)
Dim Streamオブジェクト As Object
Set Streamオブジェクト = CreateObject("ADODB.Stream")
With Streamオブジェクト
.Type = 2 ' adTypeText
.Charset = "UTF-8"
.Open
.WriteText(書込テキスト)
.SaveToFile(ファイルパス, 2) ' adSaveCreateOverWrite
.Close
End With
End SubAIを構築するためのデータを整えるツールを、そのAI自身に作らせる……。まさに次世代のAI活用の醍醐味ですね!
👑 本気で実務活用するなら「有料版」を一度は試すべき理由

ここまで無料版での回避策をご紹介してきましたが、今回「和風スパゲティAIを作ってみよう!」に登壇し、実際に皆様の環境での挙動を見ていて、私自身が強く痛感したことがあります。
それは……「改めて、有料版ってすげーーー!!」ということです😳✨
無料版のAIが「手軽でスピーディーな新人アシスタント」だとしたら、有料版のAIは「文脈を深く理解し、決してルールを忘れないベテラン専属メンター」です。
「変数は絶対に日本語で!」「謎のiやjは使わない!」といった和風スパゲティ流の高度な哲学を、途中で息切れすることなく最後まで完璧にコードに落とし込めるのは、やはり有料版の圧倒的な基礎体力(大容量のメモリと高度な推論能力)があってこそなんです。
誤解しないでいただきたいのですが、私は決してGeminiの回し者ではありません!(笑)🙅♂️
ただ、今回のイベントを通じて、Geminiに限らず「ChatGPT」や「Claude(クロード)」など、他のAIサービスにおいても「無料版と有料版の間には、想像を絶するほどの性能差(見えない巨大な壁)があるんだろうな〜」と改めて確信しました。
ですので、もしあなたが「仕事で本気で使える最強のVBAアシスタントが欲しい!」「独自のルールを一切妥協せずに守らせたい!」と考えているなら、Geminiにこだわりません。ぜひ一度、ご自身に合いそうなAIサービスの「有料版」を試してみてください!🔥
多くのサービスで「1ヶ月無料トライアル」などをやっているので、そういったキャンペーンを賢く活用して、この【上位互換の圧倒的パワー】を一度体感してみることを強くお勧めします!💪✨
🤝 まとめ & Discordでお待ちしています!

いかがでしたでしょうか? エラーでつまずいてしまった方も、ぜひ今回の「結合済みファイル」を使って、無料版でリベンジしてみてくださいね!
そして、「もっとAI×VBAの活用法を知りたい!」「プロンプトの工夫をみんなで語り合いたい!」という方は、ぜひ私たちが運営している「Excel-Fun.xls*」のDiscordコミュニティに遊びに来てください!初心者からガチ勢まで、毎日ワイワイ楽しく情報交換しています✨
👉 【Excel-Fun.xls コミュニティ(Discord等)への参加はこちら!】* https://sites.google.com/view/excel-vba-fun-for-event
また、今回のベースとなった和風スパゲティさんの素晴らしいブログ「LimeCode」の紹介記事も必読です!こちらも併せてチェックしてくださいね🍝
📚 和風スパゲティさん(LimeCode)の紹介記事
① 3/1(日)21:00~【AI×VBA】和風スパゲティAIを作ってみよう!
URL:https://www.limecode.jp/entry/event/excelfun-20260228
② 「和風スパゲティAIを作ってみよう!」配布資料&配信アーカイブ
URL:https://www.limecode.jp/entry/excelfun001-wafu-spaghetti-ai
それでは、また次回のイベントやコミュニティでお会いしましょう!

