Geminiと100本ノック 12本目:セル結合の解除
AIのGeminiがVBA100本ノックに挑戦!
AIがVBAをどこまで扱えるかの実証実験の12本目です。
そこで、独自に作成したGem(名前は「AI神髄VBA」改良を続けている)を使った回答も掲載しています。
VBA100本ノックの出題と解答
Geminiへの出題とGeminiの回答
| Geminiの回答 | Geminiへの出題 | |
![]() A1から始まる表範囲のC列に金額が入っています。 しかし、ところどころに結合されたセルがあります。 セル結合を解除し、入っている金額を整数で均等に割り振ってください。(2枚目画像) 端数処理方法は任意とします。 ※結合セルには正の整数しか入っていません。 |
||
![]() ![]() ![]() ![]() ![]() コードの説明:
使用方法:
|
GeminiのVBA記述能力はすでにわかっていますが、、、
今回の問題は、一発で出題内容を理解していることに驚いています。
日本語の読解能力がすばらしいですね。
AI神髄VBAへの出題とAI神髄VBAの回答
前回の10本目で使用したGemを今回は少し改良しました。
| Geminiの回答 | Geminiへの出題 | |
![]() A1から始まる表範囲のC列に金額が入っています。 しかし、ところどころに結合されたセルがあります。 セル結合を解除し、入っている金額を整数で均等に割り振ってください。(2枚目画像) 端数処理方法は任意とします。 ※結合セルには正の整数しか入っていません。 |
||
![]() ![]() ![]() ![]() ![]() VBAコードの解説
|
VBAコードはデフォルトのGeminiと大きくは変わっていませんね。
しかし今回は突然に、
Attribute VB_Name = "Module1"
なんてものが入ってきてしまいました。
Attributeについては以下を参照してください。
この先頭のAttributeの行は消してください。
VBAのソースコードとしては間違いではないのですが、、、
こういうこともあるので、
AI出力のコードは貼り付けたときエラーが出る場合もあるということです。
エラー原因がわからない場合は、それもGeminiに聞いてみると良いです。

AI神髄VBAへVBAコードの改良提案
| AI神髄VBAの回答 | AI神髄VBAへの出題 | |
![]() |
||
変更箇所だけの抜粋![]() |
端数の設定でループさせているので、これではわざわざ変更する意味がありませんね。
といことで、さらに指示していきます。
| AI神髄VBAの回答 | AI神髄VBAへの出題 | |
変更箇所だけの抜粋![]() |
大したものです。
こちらの指示の意図をくみ取ってしっかり期待に応えてくれました。
もちろん、ループなしが必ずしも良いとは限りません。
しかし多くの場合、ループさせずに一括処理をすることで処理速度が大幅に改善されることが多いです。
今回はその練習ということで。
同じテーマ「生成AI活用研究」の記事
Geminiと100本ノック 9本目:フィルターコピー
Geminiと100本ノック 10本目:行の削除
Geminiと100本ノック 11本目:セル結合の警告
Geminiと100本ノック 12本目:セル結合の解除
Geminiと100本ノック 13本目:文字列の部分フォント
Geminiと100本ノック 14本目:社外秘シート削除
Geminiと100本ノック 15本目:シートの並べ替え
Geminiと100本ノック 16本目:無駄な改行を削除
Geminiと100本ノック 17本目:重複削除(ユニーク化)
Geminiと100本ノック 18本目:名前定義の削除
Geminiと100本ノック 19本目:図形のコピー
新着記事NEW ・・・新着記事一覧を見る
「Python in Excel」入門:コードを読むための基礎知識|エクセル関数応用(2026-09-10)
M言語入門:Power Queryのコードを読むための基礎知識|Power Query(M言語)入門(2026-09-09)
Excelの正規表現関数(REGEXTEST・REGEXREPLACE・REGEXEXTRACT)の使い方|エクセル関数応用(2026-09-08)
スピルとVBA(Formula2とスピル範囲の取得)|VBA入門(2026-09-08)
「Withの功罪」:コードを読みやすくする強力な道具と、その落とし穴|VBA技術解説(2026-09-03)
可変長配列をVSTACKする4つの方法|REDUCE・Thunk・チャンク・再帰分割|エクセル関数応用(2026-09-01)
Excel表とMarkdownテーブルを相互変換する数式|エクセル関数応用(2026-08-24)
「Python in Excel」数独(ナンプレ)解法プログラムの移植と最適化|エクセル関数応用(2026-08-14)
「Python in Excel」で自作関数を登録|アンピボット関数と計算順序|エクセル関数応用(2026-08-12)
ListBox・ComboBoxをマウスホイール対応させる|ユーザーフォーム入門(2026-08-09)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.Excelショートカットキー一覧|Excelリファレンス
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.マクロとは?VBAとは?VBAでできること|VBA入門
8.繰り返し処理(For Next)|VBA入門
9.メッセージボックス(MsgBox関数)|VBA入門
10.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.














