本サイトについて
エクセル(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本ノック 69本目:ダブルクリックでセル結合を解除|VBA練習問題(1月18日)
全シート対象で、結合セルをダブルクリックしたら結合解除して全てのセルに元の値を入れる問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 68本目:全テキストボックスの転記|VBA練習問題(1月16日)ユーザーフォームの全テキストボックスをシートに転記する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 67本目:ComboBoxとListBox|VBA練習問題(1月15日)ユーザーフォームのコンボボックスでデータを絞り込んでリストボックスに表示する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 66本目:全サブフォルダからファイルを探す|VBA練習問題(1月13日)ブック自身のあるフォルダ以下の全サブフォルダを検索する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 65本目:固定長テキスト出力|VBA練習問題(1月12日)フォーマット(左詰め文字、右詰め数値)に従い、固定長テキストを出力する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 64本目:リンクされた図(カメラ機能)|VBA練習問題(1月11日)「元表1」「元表2」の2シートの表範囲を「リンクされた図」として「まとめ」シートに貼り付ける問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。
VBA100本ノック 63本目:複数シートの連結|VBA練習問題(1月9日)ブック内の複数シートを1つのシートに連結して出力する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 62本目:独自のZLOOKUP関数を作成|VBA練習問題(1月8日)VLOOKUP関数の機能を変更した独自のZLOOKUP関数を作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 61本目:「ふりがな」の取得と設定|VBA練習問題(1月6日)「ふりがな」の取得と「ふりがな」を設定する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 60本目:「株式会社」の表記ゆれ置換|VBA練習問題(1月5日)「株式会社」の表記ゆれを正すFunctionを作成する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 59本目:12ヶ月分のシートを四半期で分割|VBA練習問題(1月4日)1年度12ヶ月分のシートを四半期ごとのブックに分割する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
Select Caseでの短絡評価(ショートサーキット)の使い方|VBA技術解説(1月3日)VBAには、AndやOrの短絡評価(ショートサーキット)がありません。プログラミング言語によりますが、&,|これらに対しての&&,||これらが短絡評価です。VB.Netなら、AndAlso,OrElseこれらが短絡評価になります。
VBA100本ノック 迷宮編:巡回セル問題|VBA練習問題(12月31日)方形セル範囲の左上からスタートし黄色中間地点を通過し右下にゴールする最短経路を探索する問題です。いわゆる、巡回セールス問題のエクセル版としてセルを使ったものです。ただし、一度通ったセルは2度通れないという制限がついています。
VBA100本ノック 58本目:番号リストを簡潔にした文字列で返す|VBA練習問題(12月30日)配列と数値nを受け取り、配列の番号リストを簡潔にした文字列で返す問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 57本目:ファイルの更新日時|VBA練習問題(12月29日)バックアップファイルの各更新日付の最終時刻のファイルだけを残し、他を削除する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 56本目:数式内の自身のシート名を消す|VBA練習問題(12月28日)他ブックを開いて、開いたブックのマクロを起動する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 55本目:他ブックのマクロを起動|VBA練習問題(12月26日)他ブックを開いて、開いたブックのマクロを起動する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータはご自身でご用意ください。
VBA100本ノック 54本目:シートのChangeイベント|VBA練習問題(12月25日)シートのChangeイベント使用して、商品コードに対する名称・単価を設定する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 53本目:テーブルの扱いと年齢計算|VBA練習問題(12月23日)テーブルにある一定条件の人だけ年齢計算する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。VBAテスト用のサンプルデータは、VBA100本ノックの目次ページよりダウンロードできます。
VBA100本ノック 52本目:複数シートの一括印刷|VBA練習問題(12月22日)複数シートの印刷を印刷キューに1ジョブで登録する問題です。ツイッター連動企画です。ツイートでの見やすさを考慮して、ブック・シート指定等を適宜省略しています。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.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門値の貼り付けと題しましたが、値だけではなく、「形式を選択して貼り付け」のいろいろな指定方法です。セルをコピーして、他のセルに「形式を選択して貼り付け」する場合のマクロVBAコードです。セルの値や書式を別のセルにコピーすることはマクロVBAでは定番かつ必須の技術になります。
6.繰り返し処理(For Next)|VBA入門VBAのForNextは、同じ処理を繰り返し行うためのVBA構文です。繰り返し処理はループ処理とも呼ばれます。マクロでのループ処理の記述は何通りかありますが、まず最初に覚えるべきものが、今回説明するForNextです。
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。"A1"や"B5"と言うような文字で指定するのでは何かと不便です、もっと、プログラムっぽい(笑)指定方法があります。
8.セルに文字を入れるとは(Range,Value)|VBA入門前回実行したマクロを、もう少し詳しく見てみましょう。どうして、これでセルに値がはいるのか、どうやってVBAを読んだらよいのか、少しだけ詳しく解説します。とにかくこれで、A1セルに、「おはよう!」と入る事がわかりました。
9.とにかく書いてみよう(Sub,End Sub)|VBA入門それでは、とにかく、マクロVBAを書いてみましょう。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。そして、下に、EndSubが追加されます。
10.繰り返し処理(Do Loop)|VBA入門繰り返し処理として、前回はFor~Nextをやりました、今回はDo~Loopです。For~Nextに比べると使用頻度は落ちますが、必ず覚える必要があるものです。For~Nextは、繰り返す回数をあらかじめ指定するものでしたが、Do~Loopは、繰り返す回数ではなく、繰り返す条件を指定するものです。
11.マクロはどこに書くの(VBEの起動)|VBA入門さて、ではマクロVBAはどこに書いたらよいのでしょうか。まずは、マクロVBAを書くための紙に相当する編集画面を出します。このマクロVBAの編集画面をVisualBasicEditor、略してVBEと呼びます。
12.並べ替え(Sort)|VBA入門並べ替えは、データ処理の基本中の基本です、乱雑なデータを並べ替えることは、データ処理の第一歩です。マクロVBAで並べ替えを実行するには、シート操作の「並べ替え」の機能を使用することになります。そもそもデータを並べ替えるという事は、そのデータのキーが何かを考えるという事です。
13.Rangeでのセルの指定方法|VBA入門前回までに出てきたRangeの使い方は、Range("A1") このように書くことで1つのセルを指定する場合でした。複数のセル範囲を指定する場合、矩形のセル範囲、行全体、列全体、特殊なセル範囲 これらの指定方法を見ていきましょう。複数のセル(矩形のセル範囲) 複数のセル(矩形のセル範囲)を指定する場合のVBAの書き方です。
14.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説空白セルの判定は、VBAにおいては頻繁に発生しますが、正しく空白セルを判定する事は以外と難しいものです。そもそも「空白」とはどのような状態なのか… これが、はっきりしない為に何が正しいのかが判然としないことが問題を複雑にしています。以下、A1セルが空白かどうか判定する方法をいくつか紹介します。
15.まずはマクロVBAを使う準備|VBA入門さっそくマクロを作りましょう。と、その前に、準備があります、上部のリボンに、「開発」タブを追加します、「開発」タブには、マクロを開発するにあたって必要なアイコンが並んでいます。※画像は、Excel2013になります。
16.ひらがな⇔カタカナの変換|エクセル基本操作「ひらがな」を「カタカナ」に、「カタカナ」を「ひらがな」に変換する方法の説明です。ひらがな→カタカナ変換 A1セル「にっぽんたろう」、これをB1セルに「ニッポンタロウ」と表示するには、B1セルに、=PHONETIC(A1) これで、「カタカナ」で表示されたと思います。
17.ブック・シートの選択(Select,Activate)|VBA入門エクセルでは、複数ブックを扱います、そして、それぞれのブックには、複数のシートが存在します。従って、マクロVBAでも複数ブック・複数シートを扱う必要があります。ここまでのVBAでは、あくまでアクティブブックのアクティブシートを対象としてきました。
18.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数応用数式の参照範囲を可変対応させます。つまり、入力データにより自動で拡張・縮小されるように関数を設定します。エクセルの表に、単純に集計等の計算式を入れてしまうと、集計範囲は固定になっているため、データの追加時に計算範囲が違ってきてしまう事になります。
19.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄ExcelマクロVBAの基礎を学習する方法、マスターする道順についてです。ExcelマクロVBAは非常に便利です、手作業では、数時間・数日かかる処理が、ほんの一瞬で処理できてしまいます。ただし、マクロVBAを書く為に、相応の時間はかかりますが、それでも、そのマクロVBAを書く時間は一度きりです。
20.定数宣言のConstと型宣言文字|VBA入門前回は変数を説明しましたが、変数があれば、当然のように定数もあります。変数は値が変わる(変えられる)もの、定数は値が変わらない(変えられない)ものです。定数とは、数値や文字列の代わりに使用される、意味を持たせた名前のことです。
エクセル(Excel)・・・エクセルの基本操作と関数
マクロVBA・・・VBAの基礎から実践応用まで
その他(Excel以外のコンテンツ)
フリーソフト、シェアウェア・・・Excelは購入によりVBAコードも開示
※現在は公開を停止しています。
フリーソフト、シェアウェア、ソフト一覧
使った感想などをお寄せくだされば、今後の開発に生かしていきます。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「お客様第一」顧客管理システムは有料ソフトです、試用版を用意してあります。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。