本サイトについて
エクセル(Excel)およびマクロVBA全般について入門解説から上級者に役立つ技術情報まで幅広く発信しています。
その他として、GAS、Python、SQLといった関連情報も掲載しています。
エクセルやVBAを使った簡単なツールからシステム開発まで対応いたします。
ご依頼は、お問い合わせフォームからお受けしております。
お気軽にご相談ください。
その他として、GAS、Python、SQLといった関連情報も掲載しています。
ご依頼は、お問い合わせフォームからお受けしております。
お気軽にご相談ください。
ExcelマクロVBA入門 : VBA入門・基礎として、未経験者でも理解できるように詳しく説明
ExcelマクロVBA再入門 : 書籍やWEBをみて結局挫折してしまった方を対象に実戦形式で
マクロの記録で覚えるVBA : マクロの記録のVBAコードの解読と修正しつつVBAを覚える
MOS VBAエキスパート対策 : VBAエキスパート試験に必要なVBA知識についての対策
マクロVBA練習問題 : マクロVBA入門学習の一環として練習問題を用意
VBA100本ノック : ツイッター連動企画として、VBAの問題を100本掲載しています
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関数、各種プロパティ・メソッド一覧
VBAクラス入門 : VBAクラスの使い方やオブジェクト指向について
マクロVBAサンプル集 : なるべくそのまま使えるようにしたVBAサンプル集
マクロVBA技術解説 : 良くある問題や少々難度の高い使い方等に対する技術的解説
エクセル顧客管理 : 顧客管理の作成過程をプログ掲載したものの転載
ExcelマクロVBA関数 : 一般的に良く使われる必須となるVBA関数を解説
Excelリファレンス : VBEショートカット、VBA関数、各種プロパティ・メソッド一覧
Python入門 : 近年非常に人気が高いPython言語をVBA経験者に向けた入門解説です
SQL入門 : エクセルのマクロVBAから外部データベースを扱う方法について解説します
スプレッドシート入門 : 随所でExcelとの対比を掲載しながら説明しています
Google Apps Script入門 :GASでスプレッドシートを扱う事に絞って解説しています
生成AI活用研究 :Geminiを中心に生成AIの活用と研究を記録していきます。
SQL入門 : エクセルのマクロVBAから外部データベースを扱う方法について解説します
スプレッドシート入門 : 随所でExcelとの対比を掲載しながら説明しています
Google Apps Script入門 :GASでスプレッドシートを扱う事に絞って解説しています
生成AI活用研究 :Geminiを中心に生成AIの活用と研究を記録していきます。
※本サイトはリンクフリーです、ご自由にリンクして頂いて構いません。
サイト全体の更新情報・お知らせ
- 4択クイズを作成しました。
エクセル入門 4択クイズ
VBA入門 4択クイズ
生成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・・・新着記事一覧をもっと見る
ListBox・ComboBoxをマウスホイール対応させる|ユーザーフォーム入門(2026-08-09)
ユーザーフォームに配置した「ListBox」や「ComboBox」は、標準状態ではマウスホイールによるスクロール操作に対応していません。大量のデータを選択するフォームでは、スクロールバーを直接ドラッグしなければならず、操作性の面で大きな課題となります。
VBA モジュールエクスポートツール|モジュールを選別して一括出力|VBAサンプル集(2026-08-06)VBA開発や保守運用を行っていると、既存のブックから特定種類のモジュール(標準モジュールやクラス、フォームなど)のみを選別して一括エクスポートしたい場面が多々あります。全てのモジュールを一括でエクスポートするだけなら短いコードで済みますが、必要なモジュールだけを選別してエクスポートするとなると、VBE(Visual…
「SUMIFSで動くのにXLOOKUPでエラー?」型不一致の関数別挙動|エクセル関数応用(2026-08-03)Excelにおける、数値と文字としての数字(以降は文字数字)の違いによって起こる不一致問題。XLOOKUPで確認 例えば、VLOOKUP/XLOOKUPでは、検索値と検索範囲のデータ型(数値と文字数字)が一致していないと「#N/A」となる。
生成AIが暴いた「VBAオワコン説」の盲点|問われるのは言語ではなく評価軸|エクセル雑感(2026-07-04)少し前まで、「VBAはもうオワコンであり、これからはPythonやTypeScriptの時代だ」と声高に叫ぶ人々がいました。しかし現実には、PythonはExcel内の関数(機能)の一部として組み込まれるに留まり、オンライン版の自動化にのみTypeScriptが採用されました。
【ITとは何か】Excel・VBAを学ぶ前に知っておきたい「4つの本質」|エクセル雑感(2026-06-24)「IT業界に興味がある」「プログラミングを学びたい」「VBAやPythonを勉強している」そんなあなたに、まず伝えたいことがあります。ITとは、特定のプログラミング言語やツールのことではありません。AIが進化し続け、プログラミング言語や開発手法が変わり、クラウドや新たな技術基盤が登場しようとも、現場の最前線で本当に…
2つのシート名を交換するVBAをGeminiに作らせてみた。|VBA技術解説(2026-05-22)生成AIのGeminiにVBAを書いてもらいました。以下は、問題文をそのまま渡してGeminiが書いたVBAから、それを見た著者の私が複数回の助言をした後にVBAを完成させるまでの全てです。問題文 【ExcelVBA】 あるブックにある2つのシート名を交換したい。
ヘッダーに合わせて列をソートして値貼り付けするスマートな方法|VBAサンプル集(2026-05-20)ExcelVBAでヘッダー(項目名)に合わせて列の順序を自動で並べ替え、値貼り付けするスマートな実装方法を解説します。ループ処理で1列ずつコピペするのではなく、配列とSortBy関数を組み合わせた、高速で可読性の高い「きれいなコード」をご紹介します。
4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)|エクセル入門(2026-05-19)Excelには複数の「分岐関数」がありますが、実はそれぞれ得意分野が違います。「IF関数だけで何でも力技で書いていた……」という人も多いかもしれませんが、適切に使い分けると数式は圧倒的に読みやすくなります。この記事では、4つの分岐関数の特徴と、実務で迷わないための選び方を分かりやすく解説します。
Excel主要関数 習得難易度 10段階(文字列・日付除く)|エクセル雑感(2026-04-27)Excelの世界は広く、次々と新しい関数が登場しています。「VLOOKUPが使えれば中級者」と言われた時代は終わり、スピルやLAMBDAといった「モダンExcel」が当たり前になりつつあります。では今のあなたは、どの位置にいるでしょうか。
Excelのシート5分類|エクセル雑感(2026-03-27)Excelのシート5分類の概要 ①インプット(入れる) ②パラメーター(決める) ③マスタ(ひく) ④ロジック(計算する) ⑤アウトプット(見せる) Excelシート5分類:データの流れ Excelシート5分類:各シートの「触っていい人」④ロジックはシート保護(パスワード設定)を推奨。⑤アウトプットのみ「セル結合」…
グループ別に全員共通の重複期間を算出|エクセル練習問題(2026-03-12)エクセル練習問題 【エクセル数式問題】 A列のグループごとに、各担当者の「開始日(C列)」と「終了日(D列)」が入力されています。各グループにおいて、全員の期間が重複している「共通の期間」を算出してください。重複期間が無い場合は空欄で。
ハイフン区切り文字列の『最初』と『最後』を抽出・結合|エクセル練習問題(2026-02-23)エクセル練習問題 ハイフン"-"で区切られた任意の長さの文字列において、「最初のハイフンより前」と「最後のハイフンより後ろ」の要素のみを抽出し、それらをハイフン"-"で結合して出力してください。。※文字列には必ず"-"が1つ以上含まれているものとする。
AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)AIは、確かに便利だ。数秒で答えが返る。作業は早くなり、成果物の質も上がった。それでも、どこか疲れていないだろうか。その感覚は、怠慢でも適応不足でもない。いま私たちの内側で起きている、小さな摩耗かもしれない。
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)エクセル練習問題 左の表を右の表に変換する数式を作成してください。左の表の「項目」列には、複数の値がカンマ(,)区切りで入力されています。これを分割し、大分類・中分類を維持したまま、1項目1行になるよう右の表の形式に変換する数式を作成してください。
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)開いている「Excel/Word/PowerPoint」の各ファイルのフルパスを調べる方法です。VBEのイミディエイトと、通常操作の2通りで掲載します。Excel ✅VBEのイミディエイト:Alt+F11→Ctrl+G ?ThisWorkbook.FullName パスだけなら、?ThisWork…
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)IMPORTCSV関数は、CSVファイルから、Excelに直接データをインポートできます。コンマ区切りのデータを動的配列として取り込むための簡略化された方法を提供し、行をスキップまたは取得したり、ロケール設定を適用することができます。テキストファイル全般に対応した汎用関数として、IMPORTTEXT関数が同時に公開…
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)IMPORTTEXT関数は、テキストベースのファイル(CSV、TXT、TSVなど)から、Excelに直接データをインポートできます。区切り記号を指定したり、行をスキップまたは取得したり、エンコードまたはロケール設定を適用して、インポートするコンテンツを制御できます。
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)エクセル練習問題 困った、金額は分かるのですが、何を買ったか分からなくなってしまった🙄 料金表から逆検索したいのですが、どんな数式を書いたら良いのですか🤔 ※金額の重複はないものとする。シンキングタイム シンキングタイム開始 シンキングタイム終了 当サイトのコンテンツ 自…
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)私はこれまで、「RPAは一過性のブームや、システム間の溝を埋めるだけの『絆創膏』のような技術だ」と考えてきました。決してITの本流となる技術ではないだろう、と。この見方自体は、今でも決して間違っていないはずです。
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)ネットで、「AIが機械語を」という話が盛り上がっていたので、なんとなく思いついたままに自分の考えを書いてみました。シンギュラリティ前夜 アダム(AI)が、人間には理解できないどころか、読むことすらできないコードを出力し始めた。後に判明することだが、それは機械語だった。
アクセスランキング・・・ランキング一覧をもっと見る
1.最終行の取得(End,Rows.Count)|VBA入門
Excelワークシートにおける表の最終行の取得は、マクロVBAの必須技術になります、エクセルVBAにおける最終行取得の必要性 エクセルは表計算ソフトです、つまり縦横の表を扱います、データは横に項目があり、縦に項目に対するデータが入っている事が一般的です。しかし、そのデータ行数は決まった行数ではない事が普通です。
2.日本の祝日一覧|Excelリファレンス2001年から50年分の日本の祝日一覧です、※来年以降の祝日については、祝日法の改正により変更される可能性があります。(内閣府のホームページには、通常は前年の2月に掲載されます。) ※以下の一覧は、祝日が変更された場合はなるべく速やかに反映させる予定です。
3.変数宣言のDimとデータ型|VBA入門マクロVBA入門者が、まず最初につまずくのが、このDimで変数を宣言することでしょう。変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますが、まずはこの考えで良いでしょう。この入れ物には、いろいろなタイプの入れ物があります。
4.FILTER関数(範囲をフィルター処理)|エクセル入門FILTER関数は、定義した条件に基づいてデータ範囲をフィルター処理した結果を返します。FILTER関数はスピルで登場した新しい関数です。最後の方では、表示する列を選択する方法も掲載しています。FILTER関数の書式 =FILTER(配列,含む,[空の場合]) 配列 必須です。
5.RangeとCellsの使い方|VBA入門VBAではセルを指定する方法としてRangeとCellsがあります。RangeもCellsも、どちらもRangeオブジェクトでセルを指定するものです。✅どちらを使ったらよいのでしょうか ✅どう使い分けたらよいのでしょうか 実際のマクロVBA記述では、RangeとCellsを使い分…
6.繰り返し処理(For Next)|VBA入門VBAのForNextは、同じ処理を繰り返し行うためのVBA構文です。繰り返し処理はループ処理とも呼ばれます。マクロでのループ処理の記述は何通りかありますが、まず最初に覚えるべきものが、今回説明するForNextです。
7.マクロとは?VBAとは?VBAでできること|VBA入門エクセルのマクロとは何でしょうか? ExcelのVBAとは何でしょうか? マクロで何が出来るのでしょうか? VBAで何が出来るのでしょうか? 「マクロ」とは、エクセルの操作を自動化する機能です。エクセルを自動化する機能が、「マクロ」と呼ばれています。
8.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門値の貼り付けと題しましたが、値だけではなく、「形式を選択して貼り付け」のいろいろな指定方法です。セルをコピーして、他のセルに「形式を選択して貼り付け」する場合のマクロVBAコードです。セルの値や書式を別のセルにコピーすることはマクロVBAでは定番かつ必須の技術になります。
9.メッセージボックス(MsgBox関数)|VBA入門メッセージを表示するダイアログボックス(小さな画面)を表示するVBAです。ユーザーに選択(「はい」「いいえ」や「OK」「CANCEL」等)してもらうことで、その選択結果を受け取る事も出来ます。マクロVBAでメッセージボックスを表示するにはMsgBox関数を使います。
10.セルのクリア(Clear,ClearContents)|VBA入門セルをクリア・消去するマクロVBAの書き方です、クリア・消去するといっても、セルの何を(値、書式、コメント等々)クリア・消去するかによって、VBAコードが違ってきます。具体的には、セルの何を(値、書式、コメント等々)クリア・消去するかによって使用するメソッドが変わります。
11.Excelショートカットキー一覧|Excelリファレンスエクセル作業を効率化するExcelのショートカットキー(キーボードショートカット)の一覧です。Excel作業で絶対に覚えておきたい定番ショートカットキー、重要ショートカッキーについては、詳細解説ページへリンクしています。ショートカットキーは画面の選択状態(選択対象がセル、行・列、、オブジェクト、数式バー等)により変…
12.条件分岐(Select Case)|VBA入門前回のElseIf以外に、多肢条件分岐の別の書き方があります。それがSelectCaseになります。むしろElseIfより、このSelectCaseの方が、より多肢条件分岐に適していると言えます。SelectCaseは、多肢条件分岐に特化したステートメントになります。
13.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門ワークブックを閉じる場合や保存する場合のマクロVBAの説明です。閉じる時に保存するか保存しないかを指定できます。また、ブックを保存するにも、上書きなのか別ファイルにするのか等によってVBAの記述がそれぞれ違ってきます。
14.とにかく書いてみよう(Sub,End Sub)|VBA入門それでは、とにかくマクロVBAを書いてみましょう。VBEで実際にマクロを書いてみましょう VBE(VisualBasicEditor)に標準モジュールを追加したら、そこにマクロを書いていきます。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。
15.InStr関数|VBA関数Instr関数はVBAでは頻繁に使われる超重要の必須関数です。シート関数のFIND関数・SEARCH関数と同様機能のVBA関数になります。Instr関数は、文字列の中から指定した文字列を先頭から検索し、最初に見つかった文字位置を返す文字列処理関数です。
16.マクロはどこに書くの(VBEの起動)|VBA入門さて、ではマクロVBAはどこに書いたらよいのでしょうか。まずは、マクロVBAを書くための紙に相当する編集画面を出します。このマクロVBAの編集画面をVisualBasicEditor、略してVBEと呼びます。
17.Range以外の指定方法(Cells,Rows,Columns)|VBA入門Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。しかし、"A1"や"B5"のような文字で指定するのでは何かと不便です、もっと、プログラムっぽい(笑)指定方法があります。
18.並べ替え(Sort)|VBA入門並べ替えは、データ処理の基本中の基本です。乱雑なデータを並べ替えることはデータ処理の第一歩です。マクロVBAで並べ替えを実行するには、シート操作の「並べ替え」の機能を使用することになります。そもそもデータを並べ替えるという事は、そのデータのキーが何かを考えるという事です。
19.セルの書式(表示形式,NumberFormatLocal)|VBA入門セルは表示形式を指定することで、セルに入っている値は同じ値でも色々な見え方をさせる事が出来ます。セルの値はそのままで、見た目をユーザーに見やすい形にすることが出来ます。同じ数値の、12345でも 12345 12,345 \12,345 等々の違う表示方法を指定する事が出来ます。
20.Findメソッド(Find,FindNext,FindPrevious)|VBA入門Findメソッドは、マクロVBAでセル範囲内の条件に当てはまるセルを検索するものです。Findメソッドは、Rangeオブジェクトのメソッドで、ワークシート操作の「検索と置換」の「検索」の機能をマクロVBAで使うものになります。上の画像では「検索する文字列」だけしか指定できませんが、「オプション」をクリックすると、
フリーソフト、シェアウェア・・・Excelは購入によりVBAコードも開示
※現在は公開を停止しています。
フリーソフト、シェアウェア、ソフト一覧
使った感想などをお寄せくだされば、今後の開発に生かしていきます。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「お客様第一」顧客管理システムは有料ソフトです、試用版を用意してあります。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入で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.
