ExcelとVBAの入門解説
エクセルの神髄

マクロVBAを初心者向けの基本から上級者向けの高度な内容までサンプルコードを掲載し解説しています
最終更新日:2025-05-22

本サイトについて

エクセル(Excel)およびマクロVBA全般について入門解説から上級者に役立つ技術情報まで幅広く発信しています。
その他として、GAS、Python、SQLといった関連情報も掲載しています。

エクセルやVBAを使った簡単なツールからシステム開発まで対応いたします。
ご依頼は、お問い合わせフォームからお受けしております。
お気軽にご相談ください。

エクセル入門 :必須ショートカットキー、操作、機能、関数を、入門・初級・初心者向け解説
エクセル基本操作 :エクセル基本操作を解説。知ってそうで知らない操作や高度な操作も
エクセル関数応用 :エクセル関数の応用技。サンプルと基本から応用・高等テクニックまで
エクセル練習問題 : 簡単にできそうなのに意外になかなか出来ない問題を揃えていきます
ツイッター出題回答 : ツイッターに出題したエクセルのお題と出題された問題への回答
エクセル雑感 : Eexceの操作や関数、マクロVBAについての一般的な話や雑感です
Excelリファレンス : ショートカットキー一覧、関数一覧、祝日一覧等々

ExcelマクロVBA入門 : VBA入門・基礎として、未経験者でも理解できるように詳しく説明
ExcelマクロVBA再入門 : 書籍やWEBをみて結局挫折してしまった方を対象に実戦形式で
マクロの記録で覚えるVBA : マクロの記録のVBAコードの解読と修正しつつVBAを覚える
MOS VBAエキスパート対策 : VBAエキスパート試験に必要なVBA知識についての対策
マクロVBA練習問題 : マクロVBA入門学習の一環として練習問題を用意
VBA100本ノック : ツイッター連動企画として、VBAの問題を100本掲載しています

ユーザーフォーム入門 : ユーザーフォームの初歩から応用まで
VBAクラス入門 : VBAクラスの使い方やオブジェクト指向について
マクロVBAサンプル集 : なるべくそのまま使えるようにしたVBAサンプル集
マクロVBA技術解説 : 良くある問題や少々難度の高い使い方等に対する技術的解説
エクセル顧客管理 : 顧客管理の作成過程をプログ掲載したものの転載
ExcelマクロVBA関数 : 一般的に良く使われる必須となるVBA関数を解説
Excelリファレンス : VBEショートカット、VBA関数、各種プロパティ・メソッド一覧

Python入門 : 近年非常に人気が高いPython言語をVBA経験者に向けた入門解説です
SQL入門 : エクセルのマクロVBAから外部データベースを扱う方法について解説します
スプレッドシート入門 : 随所でExcelとの対比を掲載しながら説明しています
Google Apps Script入門 :GASでスプレッドシートを扱う事に絞って解説しています
生成AI活用研究 :Geminiを中心に生成AIの活用と研究を記録していきます。

※本サイトはリンクフリーです、ご自由にリンクして頂いて構いません。



サイト全体の更新情報・お知らせ

生成AI活用研究」を開始しました。
生成AIの近年の凄まじい進歩についていけるように新シリーズを開始!
生成AI全般」「エクセル数式対決」「プロンプトエンジニアリング」「Geminiと100本ノック
LAMBDA関数と6つのヘルパー関数の解説を追加しました。
さらに、配列を便利に扱える関数等も多数追加されましたので、これらの関数の解説も追加しています。
LAMBDA以降に追加された関数 , LAMBDA以降の新関数の問題集
数式を入力したセルから結果があふれて隣接したセルにも出力される新機能のスピル。
スピルの基礎から応用までのスピル問題集を追加しました。
新シリーズ!ツイッター連動企画「VBA100本ノック」を開始しました。
ツイッターで1日1本出題し翌日解答VBAを出します。
2021/03/03に最後の100本目を出しました。
新シリーズ「Python入門:プログラミング事始め」を開始しました。
人気のプログラミング言語Pythonを初心者向けに基礎から解説。
ロリポップサーバーをハイスピードプランに変更しました。
ページの表示速度は以前より早くなっています。
新シリーズ「SQL入門」を開始しました。
DBは扱いやすいようにSQLiteを採用しています。
SQL初心者向けに基礎から解説します。
PC版の上部メニューをドロップダウン形式にしました。
マクロVBAのメニュー構成も若干変更しています。
VBAコードのコピーボタンを設置しました。
サイトの文字コードをUTF-8に変更しました。
この際に使ったVBAコードも掲載しています。
Shift_JISのテキストファイルをUTF-8に一括変換
サイト全体をリニューアルしました。
横幅を広げ、文字も少し大きくしました。
サイト全体をHTTPS化(常時SSL)しました。
HTTP/2プロトコルにより、レスポンス速度が向上しています。
ブックマークしている場合は、HTTPSへ変更してください。
新シリーズとして、「MOS VBAエキスパート対策」を開始しました。
MOS VBAエキスパートの、ベーシック、スタンダード合格に必要なVBAの解説です。
「2020年小学校プログラミング必修化」、大人はVBAから始めてみましょう。
最も閲覧されているのが、「マクロVBA入門」です。
最初に書き始めてから7年近く経過しています。
第1回から順次見直し誤字脱字の修正をしつつ、必要に応じ説明文を追加しています。
久しぶりの大型記事を書き始めました。
オセロを作りながらマクロVBAを学ぼう
オセロ作りを通して、思考整理しVBAプログラミングの学習が目的です。
遅ればせながら、Google スプレッドシート の入門編を開始します。
ゆくゆくは、Google Apps Scriptの神髄にまで迫りたいと思います。
各ページの本文右上に、最終更新日を追加しました。
元ファイルの更新日ですので、公開日とは若干違う場合があります。
誤字脱字だけの修正をしている場合もあります。
久しぶりの新企画をスタート、ExcelマクロVBA再入門
理屈は最低限に、とにかくマクロVBAが書けるようになることが目的です。
スマホ対応サイトへリニューアルしました。
いわゆるレスポンシブCSSを使ったものとなっています。
これにともない、イメージも一新しました。
1年ほど前にフォルダ構成を変更し、2ヶ月前に旧ファイルを削除しました。
サイト内のリンクが消えても、Googleクロールエラーが無くなりません。
そこで、旧URLは301リダイレクトを設定しました。
各ページのレイアウトを少し変更しました。
行間を広くしたので読みやすくなったと思います。
※サイトのタイトルを「エクセルの神髄」としました。
「神髄」は本質、奥義の意味です。基本の積み重ねこそが奥義です。
サイト構成をエクセル中心に変更しました。
従来のトップページは、★旧トップページ★よりお入りください。
都合により、フォルダ構成を変更しました。
旧URLは、しばらく残しますが、いずれ削除予定です。
ブックマーク等をしている場合は変更をお願いいたします。
独自ドメイン取得しました。
エクセル色を強めました。
全体的にリニューアルしました。
使い易くなっていれば良いのですが。

エクセル新着記事NEW・・・新着記事一覧をもっと見る

第6章:AIとVBAを学び続ける!あなたの「超効率化」を止めないヒント|生成AI活用研究(2025-05-22)
これまでの章で、あなたはAIと共にExcelVBAの「書かない自動化」の基礎を習得し、コード生成からエラー解決までを経験しました。AIを「自分だけのVBA先生」として活用し、Excel作業を効率化するイメージは掴めたはずです。第6章では、この学びをさらに一歩進め、より高度な自動化への挑戦と、実務でAI×VBAを安全…

第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方 |生成AI活用研究(2025-05-21)
p> AI×VBAの学習過程で遭遇しやすいつまずきやエラーへの対処法を学び、AIを頼りながら問題を解決していく方法を身につけます。挫折せずに学び続ける力を養いましょう。目次 AI時代のExcel革命:AI×VBAで“書かない自動化”超入門 はじめに:Excel作業の未来が変わる?AIとVBA「二刀流」で超効率化!第1…

第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する! |生成AI活用研究(2025-05-20)
p> 身近なExcel業務の具体的な事例を通して、AIとVBAを組み合わせてどのように作業を劇的に効率化できるかを実践的に学びます。成功体験を積み重ねましょう。ストーリーで追体験!主人公は「あなた」第3章までで、あなたはAIを使ってVBAを学び、プロンプトを工夫すれば、欲しい情報やコードを自在に引き出せる力を身につけ…

第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章では、ExcelVBAの基礎の基礎に触れ、実際にコードを動かす体験をしました。そして、エラーが出た時にもAIが助けてくれるらしい、という心強い存在を知りました。この第3章では、まさにその頼りになる存在であるAIを、あなたのExcelVBA学習や業務自動化の強力なパートナーとして最大限に活用するためのスキル、

第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
この章では、「VBA」と呼ばれるものに初めて触れていきます。VBAが何なのか、どうやって使うのか、そしてAIと一緒にどうやって最初のVBA体験をするのかを見ていきましょう。目次 AI時代のExcel革命:AI×VBAで“書かない自動化”超入門 はじめに:Excel作業の未来が変わる?AIとVBA「二刀流」で超効率化…

第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
目次 AI時代のExcel革命:AI×VBAで“書かない自動化”超入門 はじめに:Excel作業の未来が変わる?AIとVBA「二刀流」で超効率化!第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本) AIを難しく考えない!Excel作業の「困った」をAIに相談してみよう AIが解決するExce…

AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
日々のExcel作業に追われ、「もっと効率化できたら…」「面倒な繰り返し作業から解放されたい」と感じていませんか? そして、VBA(マクロ)と聞くと、専門知識が必要そうで難しそうだと、一歩を踏み出せずにいませんか。しかし、AIの劇的な進化は、その状況を大きく変えつつあります。

Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(2025-05-16)
AIのGeminiがVBA100本ノックに挑戦!Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。AIがVBAをどこまで扱えるかの実証実験の23本目です。2025年3月からGemsが無料で使えるようになりました。

AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
目次 はじめに:AIは出版不況を質的に転換させるのか? AIが加速する出版衰退メカニズム AI時代の技術書:生き残るための新たな役割と課題 書籍とAI:補完関係と学習戦略 AI時代におけるコンテンツ制作の倫理と著作権 未来の出版物と編集者の役割再定義 読者の変容と「読み」の未来 結論:淘汰を経て進化へ向かう出版の未…

Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(2025-05-15)
AIのGeminiがVBA100本ノックに挑戦!Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。AIがVBAをどこまで扱えるかの実証実験の22本目です。2025年3月からGemsが無料で使えるようになりました。

すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)
生成AI(LLM)の能力を最大限に引き出し、期待する高品質なアウトプットを効率的に得るためには、明確で構造化されたプロンプトを作成することが非常に重要です。このガイドラインは、プロンプト作成の基本的な考え方から、実際のビジネスシーンでも役立つ実践的なテクニックまでを網羅しています。

Geminiと100本ノック 21本目:バックアップファイルの削除|生成AI活用研究(2025-05-14)
AIのGeminiがVBA100本ノックに挑戦!Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。AIがVBAをどこまで扱えるかの実証実験の21本目です。2025年3月からGemsが無料で使えるようになりました。

AI活用によるVBA業務自動化の実践ガイド|生成AI活用研究(2025-05-14)
目次 エグゼクティブサマリー 第1章:AIコードを「資産化」する基本的な考え方とコード管理 1-1.なぜ「保守性」が重要なのか:AIコードは使い捨てではない 1-2.コード管理とバージョン管理の基本:ファイル名・記録の工 第1章まとめ:AIコード資産化の基本的な考え方と管理のポイント 【自己チェックリスト】 ここま…

Geminiと100本ノック 20本目:ブックのバックアップ|生成AI活用研究(2025-05-13)
AIのGeminiがVBA100本ノックに挑戦!Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。AIがVBAをどこまで扱えるかの実証実験の20本目です。2025年3月からGemsが無料で使えるようになりました。

実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座|生成AI活用研究(2025-05-13)
目次 はじめに 第1章:なぜAI時代にVBAの基本が必要なのか この章のまとめ 第2章:AI生成コードを「動かす」VBA実践の基本 2-1.VBE(VisualBasicEditor)の基本操作 2-2.コードの実行方法 2-3.最低限のコード構造とキーワードの認識 2-4.デバッグとエラーの基本的な見方 この章の…

Geminiと100本ノック 19本目:図形のコピー|生成AI活用研究(2025-05-12)
AIのGeminiがVBA100本ノックに挑戦!Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。AIがVBAをどこまで扱えるかの実証実験の19本目です。2025年3月からGemsが無料で使えるようになりました。

AI時代におけるRPAとVBAの位置づけ - 補完技術としての役割と未来 -|生成AI活用研究(2025-05-12)
はじめに 近年、生成AI、特に大規模言語モデル(LLM)に代表されるAI技術の進化は目覚ましく、情報の要約、分類、文章生成といった高度なタスクが可能になり、これまで人間にしか担えなかった業務領域へのAI活用が進んでいます。これにより、「AIが全てを自動化するのではないか」「従来の自動化ツールであるRPA(Robot…

Geminiと100本ノック 18本目:名前定義の削除|生成AI活用研究(2025-05-11)
AIのGeminiがVBA100本ノックに挑戦!Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。AIがVBAをどこまで扱えるかの実証実験の18本目です。2025年3月からGemsが無料で使えるようになりました。

スマートExcel|AI×Excel:AIと進化するExcelの新常識|生成AI活用研究(2025-05-11)
はじめに マイクロソフト社のExcelは、長年にわたりビジネスシーンにおけるデータ管理、分析、報告業務において、なくてはならない基幹ツールとして広く利用されてきました。しかし、その多岐にわたる機能を最大限に活用するためには、一定レベルの専門知識や習熟が求められる場面も少なくありませんでした。

VBA開発の現場で生成AIはどう使う? そのメリットと潜むリスク|生成AI活用研究(2025-05-11)
はじめに MicrosoftOffice製品の自動化ツールとして、VBA(VisualBasicforApplications)は長年にわたりビジネスの現場で活用されてきました。特にExcel、Access、Outlookなどを利用した定型業務の効率化やデータ処理の自動化において、VBAは多くの業務担当者にとって不…




アクセスランキング・・・ランキング一覧をもっと見る

1.最終行の取得(End,Rows.Count)|VBA入門
Excelワークシートにおける表の最終行の取得は、マクロVBAの必須技術になります、エクセルVBAにおける最終行取得の必要性 エクセルは表計算ソフトです、つまり縦横の表を扱います、データは横に項目があり、縦に項目に対するデータが入っている事が一般的です。しかし、そのデータ行数は決まった行数ではない事が普通です。
2.繰り返し処理(For Next)|VBA入門
VBAのForNextは、同じ処理を繰り返し行うためのVBA構文です。繰り返し処理はループ処理とも呼ばれます。マクロでのループ処理の記述は何通りかありますが、まず最初に覚えるべきものが、今回説明するForNextです。
3.変数宣言のDimとデータ型|VBA入門
マクロVBA入門者が、まず最初につまずくのが、このDimで変数を宣言することでしょう。変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますが、まずはこの考えで良いでしょう。この入れ物には、いろいろなタイプの入れ物があります。
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
値の貼り付けと題しましたが、値だけではなく、「形式を選択して貼り付け」のいろいろな指定方法です。セルをコピーして、他のセルに「形式を選択して貼り付け」する場合のマクロVBAコードです。セルの値や書式を別のセルにコピーすることはマクロVBAでは定番かつ必須の技術になります。
5.ひらがな⇔カタカナの変換|エクセル基本操作
「ひらがな」を「カタカナ」に、「カタカナ」を「ひらがな」に変換する方法の説明です。ひらがな→カタカナ変換 A1セル「にっぽんたろう」、これをB1セルに「ニッポンタロウ」と表示するには、B1セルに、=PHONETIC(A1) これで、「カタカナ」で表示されたと思います。
6.RangeとCellsの使い方|VBA入門
VBAではセルを指定する方法としてRangeとCellsがあります。RangeもCellsも、どちらもRangeオブジェクトでセルを指定するものです。✅どちらを使ったらよいのでしょうか ✅どう使い分けたらよいのでしょうか 実際のマクロVBA記述では、RangeとCellsを使い分…
7.メッセージボックス(MsgBox関数)|VBA入門
メッセージを表示するダイアログボックス(小さな画面)を表示するVBAです。ユーザーに選択(「はい」「いいえ」や「OK」「CANCEL」等)してもらうことで、その選択結果を受け取る事も出来ます。マクロVBAでメッセージボックスを表示するにはMsgBox関数を使います。
8.セルのクリア(Clear,ClearContents)|VBA入門
セルをクリア・消去するマクロVBAの書き方です、クリア・消去するといっても、セルの何を(値、書式、コメント等々)クリア・消去するかによって、VBAコードが違ってきます。具体的には、セルの何を(値、書式、コメント等々)クリア・消去するかによって使用するメソッドが変わります。
9.FILTER関数(範囲をフィルター処理)|エクセル入門
FILTER関数は、定義した条件に基づいてデータ範囲をフィルター処理した結果を返します。FILTER関数はスピルで登場した新しい関数です。最後の方では、表示する列を選択する方法も掲載しています。FILTER関数の書式 =FILTER(配列,含む,[空の場合]) 配列 必須です。
10.条件分岐(Select Case)|VBA入門
前回のElseIf以外に、多肢条件分岐の別の書き方があります。それがSelectCaseになります。むしろElseIfより、このSelectCaseの方が、より多肢条件分岐に適していると言えます。SelectCaseは、多肢条件分岐に特化したステートメントになります。
11.マクロとは?VBAとは?VBAでできること|VBA入門
エクセルのマクロとは何でしょうか? ExcelのVBAとは何でしょうか? マクロで何が出来るのでしょうか? VBAで何が出来るのでしょうか? 「マクロ」とは、エクセルの操作を自動化する機能です。エクセルを自動化する機能が、「マクロ」と呼ばれています。
12.ブック・シートの選択(Select,Activate)|VBA入門
エクセルでは複数ブックを扱います。そして、それぞれのブックには複数のシートが存在します。従って、マクロVBAでも複数ブック・複数シートを扱う必要があります。ここまでのVBAでは、あくまでアクティブブックのアクティブシートを対象としてきました。
13.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
ワークブックを閉じる場合や保存する場合のマクロVBAの説明です。閉じる時に保存するか保存しないかを指定できます。また、ブックを保存するにも、上書きなのか別ファイルにするのか等によってVBAの記述がそれぞれ違ってきます。
14.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。しかし、"A1"や"B5"のような文字で指定するのでは何かと不便です、もっと、プログラムっぽい(笑)指定方法があります。
15.とにかく書いてみよう(Sub,End Sub)|VBA入門
それでは、とにかくマクロVBAを書いてみましょう。VBEで実際にマクロを書いてみましょう VBE(VisualBasicEditor)に標準モジュールを追加したら、そこにマクロを書いていきます。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。
16.セルの書式(表示形式,NumberFormatLocal)|VBA入門
セルは表示形式を指定することで、セルに入っている値は同じ値でも色々な見え方をさせる事が出来ます。セルの値はそのままで、見た目をユーザーに見やすい形にすることが出来ます。同じ数値の、12345でも 12345 12,345 \12,345 等々の違う表示方法を指定する事が出来ます。
17.最終行・最終列の取得方法(End,CurrentRegion,SpecialCells,UsedRange)|VBA技術解説
エクセルの表をマクロVBAで扱う時は、データ部分の先頭から最終行までの、開始列から最終列まで処理する事が多いでしょう。開始行や開始列は、ほとんどの場合、見出し行や見出し列の次からになります。単純な話として、1行目に見出しがあれば、2行目から 1列目に見出しがあれば、2列目から では、ここで、最終行や最終列は、
18.条件分岐(IF)|VBA入門
ある条件の時だけ処理したい、ある条件の時は処理したくない、そのような条件によって処理内容を変更したい場合があります。VBAで条件により処理を分岐させたい場合に使うのが、Ifステートメントです。マクロVBAで自動化する場合の多くは、条件により処理を変えつつ一定回数繰り返すという事です。
19.INDIRECT関数(参照文字列で間接的にセルを指定)|エクセル入門
INDIRECT関数は、指定される文字列への参照を返します。参照文字列によって指定されるセルに入力されている文字列を介して、間接的なセルの指定を行います。参照文字列で指定されるセル参照を返しますが、セル参照はすぐに計算され、結果としてセルの内容が表示されます。
20.セルに計算式を設定(Formula)|VBA入門
セルに計算式(関数)を設定する場合のマクロVBAになります。マクロVBAでセルに計算式を設定することは、そんなに多くないと思いますが、決して使わないわけではありません。しかし、この計算式の設定には何種類ものプロパティがあり、結構やっかいなのです。


フリーソフト、シェアウェア・・・Excelは購入によりVBAコードも開示

※現在は公開を停止しています。

フリーソフト、シェアウェア、ソフト一覧

使った感想などをお寄せくだされば、今後の開発に生かしていきます。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。

「お客様第一」顧客管理システムは有料ソフトです、試用版を用意してあります。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。





このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ