本サイトについて
エクセル(Excel)およびマクロVBA全般について、
入門解説から上級者に役立つ技術情報まで幅広く発信しています。
「Excel全般」は、エクセルの操作と関数を基礎から応用まで。
「マクロVBA入門編」は、入門・基礎として、VBA未経験者でも理解できるように詳しく説明しています。
「マクロVBA応用編」は、VBA経験者(中級・上級)向けの技術解説およびVBAサンプルを豊富に揃えています。
「SQL入門」は、エクセルのマクロVBAから外部データベースを扱う方法について解説します。
「スプレッドシート入門」は、随所でExcelとの対比を掲載しながら説明しています。
「Google Apps Script入門」は、VBAでエクセルを扱うようにGASでスプレッドシートを扱う事に絞って解説しています。
※本サイトはリンクフリーです、ご自由にどうぞ。
入門解説から上級者に役立つ技術情報まで幅広く発信しています。
「マクロVBA入門編」は、入門・基礎として、VBA未経験者でも理解できるように詳しく説明しています。
「マクロVBA応用編」は、VBA経験者(中級・上級)向けの技術解説およびVBAサンプルを豊富に揃えています。
「SQL入門」は、エクセルのマクロVBAから外部データベースを扱う方法について解説します。
「スプレッドシート入門」は、随所でExcelとの対比を掲載しながら説明しています。
「Google Apps Script入門」は、VBAでエクセルを扱うようにGASでスプレッドシートを扱う事に絞って解説しています。
サイト全体の更新情報・お知らせ
- 新シリーズ「VBA100本ノック」を開始しました。
ツイッター連動企画です。
ツイッターで1日1本出題し翌日解答VBAを出します。 - 新シリーズ「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・・・新着記事一覧をもっと見る
VBA100本ノック 97本目:Accessからデータを取得2|VBA練習問題(2月26日)
Accessからデータを取得(グループ集計)する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 96本目:Accessからデータを取得1|VBA練習問題(2月26日)Accessからデータを取得(マスタ結合&抽出)する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 95本目:図形のテキストを検索するフォーム作成|VBA練習問題(2月24日)図形のテキストから指定の文字列を探すフォームを作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 94本目:表範囲からHTMLのtableタグを作成|VBA練習問題(2月23日)指定セル範囲の表をHTMLの<table>に変換するFunctionを作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 93本目:複数ブックを連結して再分割|VBA練習問題(2月22日)「月別」フォルダの年月別のファイルを集め、「支店別」フォルダに支店ファイルで出力する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 92本目:セルの色を16進で返す関数|VBA練習問題(2月20日)セルの色(塗りつぶし色orフォント色)を16進表示で戻すユーザー定義関数を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 91本目:時間計算(残業時間の月間合計)|VBA練習問題(2月19日)出退勤データから、個人別・月別の月間残業時間数を計算する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 90本目:セルに重なっている画像の削除|VBA練習問題(2月17日)セル範囲に少しでも重なっているいる画像を全て削除するFunctionを作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 89本目:2つのフォルダの統合|VBA練習問題(2月16日)2つのフォルダをサブフォルダも含めて統合する問題です。同一フォルダに同じファイル名が存在する場合は更新日時のより新しいファイルを採用します。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。
VBA100本ノック 88本目:クロスABC分析作成|VBA練習問題(2月15日)売上データと商品マスタからクロスABC分析を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 87本目:数式のシート間の依存関係|VBA練習問題(2月13日)各シートの数式が参照しているシートの依存関係の表を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 86本目:全シートの総当たり表を作成|VBA練習問題(2月12日)全シートの総当たり表(マトリックス表)を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 85本目:請求日から入金予定日を算出|VBA練習問題(2月10日)請求日から入金予定日を算出するユーザー定義関数を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 84本目:ブックの自動バックアップ|VBA練習問題(2月9日)ブックが保存される時に自動的にバックアップを作成し30世代だけ残す問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 83本目:請求書を作成してPDF出力|VBA練習問題(2月8日)売上シートにある全取引先のPDF請求書を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 参加者様ご紹介|VBA練習問題(2月5日)ツイッター連動企画「VBA100本ノック」これに、何らかの形で参加してくださっている方達をここで紹介させてもらいます。・ツイッターの引用リツイート等で回答されている方 ・YouTubeで回答または解説されている方 ・ブログ等で回答または解説されている方 このような方達からの自己申告により以下でご紹介させていただきます。
VBA100本ノック 82本目:ブックのドキュメントプロパティを取得|VBA練習問題(2月5日)フォルダ内の全エクセルファイルのドキュメントプロパティを取得する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 81本目:全フィルターの絞り込解除|VBA練習問題(2月3日)全てのフィルターの絞り込みを解除して非表示行が無い状態にする問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページからもダウンロードできます。
VBA100本ノック 魔球編:2桁の最小公倍数|VBA練習問題(2月2日)任意の重複しない5つの2桁の数値を選び、最小公倍数が2桁である5つの数値を見つける問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。出題 出題ツイートへのリンク #VBA100本ノック魔球編 全て違う2桁の正の整数が5つあるとき、最小公倍数が2桁の数値になる数値の組み合わせを全て求めてください。
VBA100本ノック 80本目:読み取り専用で保存できないブックにする|VBA練習問題(2月2日)ブックを読み取り専用に設定し、かつ、上書き保存も名前を付けて保存も出来ないように設定する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
アクセスランキング・・・ランキング一覧をもっと見る
1.最終行の取得(End,Rows.Count)|VBA入門
Excelワークシートにおける表の最終行の取得は、VBAの必須技術になります、エクセルVBAにおける最終行取得の必要性 エクセルは表計算ソフトです、つまり縦横の表を扱います、データは横に項目があり、縦に項目に対するデータが入っている事が一般的です。しかし、そのデータ行数は決まった行数ではない事が普通です。
2.RangeとCellsの使い方|VBA入門VBAではセルを指定する方法としてRangeとCellsがあります、RangeもCellsも、どちらもRangeオブジェクトでセルを指定するものです。どちらを使ったらよいのでしょうか、どう使い分けたらよいのでしょうか、実際のVBA記述では、RangeとCellsを使い分ける必要があります、RangeとCellsの使い方・使い分け方について解説をします。
3.変数宣言のDimとデータ型|VBA入門マクロVBA入門者が、まず最初につまずくのが、このDimで変数を宣言することでしょう。変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますが、まずはこの考えで良いでしょう。この入れ物には、いろいろなタイプの入れ物があります。
4.マクロって何?VBAって何?|VBA入門エクセルのマクロって何でしょうか? ExcelのVBAって何でしょうか? 「マクロ」とは、エクセルの操作を自動化するものです。その自動化する機能が、「マクロ」と呼ばれています。マクロの中身は、プログラムです。
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。"A1"や"B5"と言うような文字で指定するのでは何かと不便です、もっと、プログラムっぽい(笑)指定方法があります。
6.繰り返し処理(For Next)|VBA入門VBAのForNextは、同じ処理を繰り返し行うためのVBA構文です。繰り返し処理はループ処理とも呼ばれます。マクロでのループ処理の記述は何通りかありますが、まず最初に覚えるべきものが、今回説明するForNextです。
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門値の貼り付けと題しましたが、値だけではなく、「形式を選択して貼り付け」のいろいろな指定方法です。セルをコピーして、他のセルに「形式を選択して貼り付け」する場合のマクロVBAコードです。セルの値や書式を別のセルにコピーすることはマクロVBAでは定番かつ必須の技術になります。
8.セルに文字を入れるとは(Range,Value)|VBA入門前回実行したマクロを、もう少し詳しく見てみましょう。どうして、これでセルに値がはいるのか、どうやってVBAを読んだらよいのか、少しだけ詳しく解説します。とにかくこれで、A1セルに、「おはよう!」と入る事がわかりました。
9.とにかく書いてみよう(Sub,End Sub)|VBA入門それでは、とにかく、マクロVBAを書いてみましょう。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。そして、下に、EndSubが追加されます。
10.マクロはどこに書くの(VBEの起動)|VBA入門さて、ではマクロVBAはどこに書いたらよいのでしょうか。まずは、マクロVBAを書くための紙に相当する編集画面を出します。このマクロVBAの編集画面をVisualBasicEditor、略してVBEと呼びます。
11.まずはマクロVBAを使う準備|VBA入門さっそくマクロを作りましょう。と、その前に、準備があります、上部のリボンに、「開発」タブを追加します、「開発」タブには、マクロを開発するにあたって必要なアイコンが並んでいます。※画像は、Excel2013になります。
12.繰り返し処理(Do Loop)|VBA入門繰り返し処理として、前回はFor~Nextをやりました、今回はDo~Loopです。For~Nextに比べると使用頻度は落ちますが、必ず覚える必要があるものです。For~Nextは、繰り返す回数をあらかじめ指定するものでしたが、Do~Loopは、繰り返す回数ではなく、繰り返す条件を指定するものです。
13.Rangeでのセルの指定方法|VBA入門前回までに出てきたRangeの使い方は、Range("A1") このように書くことで1つのセルを指定する場合でした。複数のセル範囲を指定する場合、矩形のセル範囲、行全体、列全体、特殊なセル範囲 これらの指定方法を見ていきましょう。複数のセル(矩形のセル範囲) 複数のセル(矩形のセル範囲)を指定する場合のVBAの書き方です。
14.並べ替え(Sort)|VBA入門並べ替えは、データ処理の基本中の基本です、乱雑なデータを並べ替えることは、データ処理の第一歩です。マクロVBAで並べ替えを実行するには、シート操作の「並べ替え」の機能を使用することになります。そもそもデータを並べ替えるという事は、そのデータのキーが何かを考えるという事です。
15.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄ExcelマクロVBAの基礎を学習する方法、マスターする道順についてです。ExcelマクロVBAは非常に便利です、手作業では、数時間・数日かかる処理が、ほんの一瞬で処理できてしまいます。ただし、マクロVBAを書く為に、相応の時間はかかりますが、それでも、そのマクロVBAを書く時間は一度きりです。
16.マクロの記録|VBA入門エクセルのマクロを説明する上では、まず最初に、「マクロの記録」を説明しなければなりません。マクロの自動記録とも言われたりしますが、要は、エクセルの手動での操作が、自動記録されるものです、もちろん、マクロの言語であるVBAで記録されます。実際には、マクロの記録から作成されたVBAコードを修正して使う事はしません。
17.VBEのオプション設定(Option Explicit)|VBA入門マクロを書き始める前に、出来れば設定しておいた方が良いオプションがあります。いえ、絶対に設定しておかなければならないVBEのオプション設定です、必ず、最初に設定しておいてください。VBEの「ツール」→「オプション」以下の画面が出ます。
18.定数宣言のConstと型宣言文字|VBA入門前回は変数を説明しましたが、変数があれば、当然のように定数もあります。変数は値が変わる(変えられる)もの、定数は値が変わらない(変えられない)ものです。定数とは、数値や文字列の代わりに使用される、意味を持たせた名前のことです。
19.ブック・シートの選択(Select,Activate)|VBA入門エクセルでは、複数ブックを扱います、そして、それぞれのブックには、複数のシートが存在します。従って、マクロVBAでも複数ブック・複数シートを扱う必要があります。ここまでのVBAでは、あくまでアクティブブックのアクティブシートを対象としてきました。
20.セルに計算式を設定(Formula)|VBA入門セルに計算式(関数)を設定する場合のマクロVBAになります。マクロでは、セルに計算式を設定することは、そんなに多くないと思いますが、決して使わないわけではありません。しかし、この計算式の設定には何種類ものプロパティがあり、結構やっかいなのです。
エクセル(Excel)・・・エクセルの基本操作と関数
マクロVBA・・・VBAの基礎から実践応用まで
その他(Excel以外のコンテンツ)
フリーソフト、シェアウェア・・・Excelは購入によりVBAコードも開示
※現在は公開を停止しています。
フリーソフト、シェアウェア、ソフト一覧
使った感想などをお寄せくだされば、今後の開発に生かしていきます。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「お客様第一」顧客管理システムは有料ソフトです、試用版を用意してあります。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。