本サイトについて
エクセル(Excel)およびマクロVBA全般について入門解説から上級者に役立つ技術情報まで幅広く発信しています。
その他として、GAS、Python、SQLといった関連情報も掲載しています。
その他として、GAS、Python、SQLといった関連情報も掲載しています。
ExcelマクロVBA入門 : VBA入門・基礎として、未経験者でも理解できるように詳しく説明
ExcelマクロVBA再入門 : 書籍やWEBをみて結局挫折してしまった方を対象に実戦形式で
マクロの記録で覚えるVBA : マクロの記録のVBAコードを読み、そして修正しつつVBAを覚える
マクロVBA練習問題 : マクロVBA入門学習の一環として練習問題を用意
VBA100本ノック : VBAの問題を100本掲載しています。イッター連動企画です。
MOS VBAエキスパート対策 : VBAエキスパート試験に必要なVBA知識についての対策
ExcelマクロVBA関数 : 一般的に良く使われるVBA関数を解説
ExcelマクロVBA再入門 : 書籍やWEBをみて結局挫折してしまった方を対象に実戦形式で
マクロの記録で覚えるVBA : マクロの記録のVBAコードを読み、そして修正しつつVBAを覚える
マクロVBA練習問題 : マクロVBA入門学習の一環として練習問題を用意
VBA100本ノック : VBAの問題を100本掲載しています。イッター連動企画です。
MOS VBAエキスパート対策 : VBAエキスパート試験に必要なVBA知識についての対策
ExcelマクロVBA関数 : 一般的に良く使われるVBA関数を解説
ユーザーフォーム入門 : ユーザーフォームの初歩から応用まで
VBAクラス入門 : VBAクラスの使い方やオブジェクト指向について
マクロVBAサンプル集 : なるべくそのまま使えるようにしたVBAサンプル集
マクロVBA技術解説 : 良くある問題や少々難度の高い使い方等に対する技術的解説
エクセル顧客管理 : 顧客管理の作成過程をプログ掲載したものの転載
Excelリファレンス : VBEショートカット、VBA関数、各種プロパティ・メソッド一覧
VBAクラス入門 : VBAクラスの使い方やオブジェクト指向について
マクロVBAサンプル集 : なるべくそのまま使えるようにしたVBAサンプル集
マクロVBA技術解説 : 良くある問題や少々難度の高い使い方等に対する技術的解説
エクセル顧客管理 : 顧客管理の作成過程をプログ掲載したものの転載
Excelリファレンス : VBEショートカット、VBA関数、各種プロパティ・メソッド一覧
「Python入門」 : 近年非常に人気が高いPython言語をVBA経験者に向けた入門解説です。
「SQL入門」 : エクセルのマクロVBAから外部データベースを扱う方法について解説します。
「スプレッドシート入門」 : 随所でExcelとの対比を掲載しながら説明しています。
「Google Apps Script入門」 : VBAでエクセルを扱うようにGASでスプレッドシートを扱う事に絞って解説しています。
「SQL入門」 : エクセルのマクロVBAから外部データベースを扱う方法について解説します。
「スプレッドシート入門」 : 随所でExcelとの対比を掲載しながら説明しています。
「Google Apps Script入門」 : VBAでエクセルを扱うようにGASでスプレッドシートを扱う事に絞って解説しています。
※本サイトはリンクフリーです、ご自由にリンクして頂いて構いません。
サイト全体の更新情報・お知らせ
- 新シリーズ!ツイッター連動企画「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・・・新着記事一覧をもっと見る
m/d/yyyy形式文字列を日付シリアル値に変換|エクセル雑感(2022-07-07)
ツイッターで出題した問題です。エクセルでは、「m/d/yyyy」形式で入力しても文字列として扱われてしまいます。そこで、「m/d/yyyy」を日付のシリアル値に変換する数式を考える問題です。出題ツイート 「エクセル頭の体操」日付基本編 m/d/yyyy この形式で入力しても、それは文字列として入力されてしまいます。
ジャグ配列から順列を作成する|エクセル雑感(2022-07-05)ツイッターで会話したので、それを実際にVBAで書いてみました。ジャグ配列(配列の要素に配列が入っている)から、要素を1つずつ取り出して全順列を作成します。競馬で言ったら、1列目、2列目、3列目を指定した3連単のようなものです。
15桁を超える数値の足し算|エクセル雑感(2022-07-01)ツイッターで出題した問題です。エクセルでは整数値は15桁までの数値しか正しく扱えません。15桁を超える数値は16桁目以下は0となってしまいます。15桁の数値を合計して16桁になると、1の位が0になってしまいます。
抜けている数値を探せ|エクセル雑感(2022-07-01)ツイッターで出題した問題です。ランダムに配置された1~20の数値があります。抜けている数値を探す数式を作成するお題です。出題ツイート 「エクセル頭の体操」A1:A20に1~20までの数値がランダムに入っています。
.Net FrameworkのSystem.Collectionsを利用|VBA技術解説(2022-06-29).NetFrameworkのSystem.Collections内のクラスを利用します。ArrayList SortedList Hashtable これらを使ってみます。ArrayListに関してはブログ等で多く書かれています。
迷路ネコが影分身の術を体得したら…|エクセル雑感(2022-06-27)ツイッターで迷路を解くVBAが流行っていたので、ネコを迷路に挑戦させてみた… 迷路にネコが挑戦したら、どうなるかな… さすがに壁登りで迷路クリアは、、、ということで、ちゃんと迷路を攻略するようにネコを長期用しました。ツイート 「壁登りは反則だろ」という厳しいご意見があったりなかったり… まうにゃんは厳しい躾けの末、
迷路にネコが挑戦したら、どうなるかな…|エクセル雑感(2022-06-26)ツイッターで迷路を解くVBAが流行っていたので、それならと言う事で私も参加してみることに… 迷路の解き方は定番の方法がありますが、それらはツイッターの他の人に任せるとして、ちょっと独自の挑戦をしてみました。※これはジョークソフトです。ツイート 迷路が流行っているので私も参加してみよかと。
サロゲートペアに対応した自作関数(Len,Left,Mid,Right)|エクセル雑感(2022-06-24)ツイッターで、サロゲートペアに対応した文字列関数の話しになりました。シート関数のLEFTとRIGHTはサロゲートペアに対応しているようですが、MIDとLENは対応していません。そして、VBA関数の、Len,Left,Mid,Right、これらは一切サロゲートペアに対応していません。
「マクロの登録」で登録できないプロシージャーは?|エクセル雑感(2022-06-23)ツイッターで出題した問題です。マクロはボタン等に「マクロの登録」で登録して使う場合が多いです。どのようなプロシージャーかによって「マクロの登録」での登録方法を違ってきます。このやり方を知っているかどうかを問うVBA問題です。
オブジェクトのByRef、ByVal、Variant|エクセル雑感(2022-06-22)ツイッターで出題した問題です。オブジェクトを引数にした場合の、ByRef、ByValの違いと、仮引数にVariantを指定した場合の動作違いを問う問題です。出題ツイート 【VBA問題】 Submain() Range("A1")=1 DimaAsRange:Seta=Range("A1…
コメントから特定形式の年月を取り出す|エクセル雑感(2022-06-19)ツイッターで出題した問題です。コメントから特定形式「(yyyy年mm月)」の年月だけを取り出す問題です。日付として認識できるデータのみを取り出します。ただし、複雑な入力に対応するのはかなり難しくなります。
4,9を使わない連番作成|エクセル雑感(2022-06-17)ツイッターで出題した問題です。日本では、部屋番号等の番号を振る時に4,9を使わない連番にする事が多々あります。この4,9を使わない連番をシートで作成するツイッター出題です。出題ツイート 「エクセル頭の体操」暇人専用 よくある問題ですが、4,9を使わない連番作成 A1に1をいれてA2以降に、2,3,5,
連番を折り返して出力|エクセル雑感(2022-06-16)ツイッターで出題した問題です。1~100の連番を行ごとに折り返して出力します。1行目の1~10は右に向かって、2行目の11~20は左に向かって、3行目はふたたび左から… 出題ツイート 「エクセル頭の体操」数値基礎編 1~100までの数値を添付のように折り返して作成してください。
VBAの基礎・基本の要約|VBA入門(2022-06-14)マクロVBA入門は、全体で基本142回+デバッグ10回+参考ページ多数で構成されています。非常に内容が多いため、なかなか全体を順番に進めていくのは困難かもしれません。以下では、VBA入門の前半の基本部分について、各回の詳細を省いて要点だけを抜粋しました。
ピッボットテーブルって便利だよね|還暦のVBA(2021-10-18)還暦のVBA 64日目から68日目のまとめ 還暦を迎えるまでパソコンなんてまともに触ったことのない人にエクセルを教えてマクロが使えるようになるまで何日かかるかプロジェクト。還暦のVBA64日目 エクセルには便利な自動機能があります。「お小遣い帳」シートに戻ります。
還暦のVBA:VBAまでたどりつけるか… (2021-09-29)マクロVBAを初心者向けの基本から上級者向けの高度な内容までサンプルコードを掲載し解説しています。エクセル関数・機能・基本操作の入門解説からマクロVBAまでエクセル全般を網羅しています。
VLOOKUPを使うことを基本としてシートを設計すべきか|エクセル雑感(2021-08-17)これはツイッターで、VLOOKUPを使うことを基本としてシートを設計すべきかどうかについて連続ツイートしたものをまとめたものです。下書きもなく、深夜に思うがままにツイートしたので、論理的に細かいところや話のつながりについてはご容赦ください。
コンピューターはブラックボックスで良い|エクセル雑感(2021-08-14)ツイッターで、「コンピューターはブラックボックスで良いのです。」として書き始めた連続ツイーをまとめたものです。ツイート https://twitter.com/yamaoka_ss/status/1426458359079706630 コンピューターはブラックボックスで良いのです。
小文字"abc"を大文字"ABC"に変換する方法|エクセル雑感(2021-08-13)ツイッターで出した「VBA問題」です。小文字"abc"を大文字"ABC"に変換する方法を可能な限り列挙してください。という問題です。。出題ツイート https://twitter.com/yamaoka_ss/status/1425799283303882758 「VBA問題…
ADOでテキストデータを集計する|VBAサンプル集(2021-08-04)テキストデータの文字を頻出順に求めるコードについて、ツイッターでかきこみがありました。#助けてVBAのタグもついていたので、これに回答した時のコードをここに残します。テキストファイルの読み込みで、ADOを使いSQLで集計しています。
アクセスランキング・・・ランキング一覧をもっと見る
1.最終行の取得(End,Rows.Count)|VBA入門
Excelワークシートにおける表の最終行の取得は、マクロVBAの必須技術になります、エクセルVBAにおける最終行取得の必要性 エクセルは表計算ソフトです、つまり縦横の表を扱います、データは横に項目があり、縦に項目に対するデータが入っている事が一般的です。しかし、そのデータ行数は決まった行数ではない事が普通です。
2.RangeとCellsの使い方|VBA入門VBAではセルを指定する方法としてRangeとCellsがあります。RangeもCellsも、どちらもRangeオブジェクトでセルを指定するものです。✅どちらを使ったらよいのでしょうか ✅どう使い分けたらよいのでしょうか 実際のマクロVBA記述では、RangeとCellsを使い分…
3.変数宣言のDimとデータ型|VBA入門マクロVBA入門者が、まず最初につまずくのが、このDimで変数を宣言することでしょう。変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますが、まずはこの考えで良いでしょう。この入れ物には、いろいろなタイプの入れ物があります。
4.繰り返し処理(For Next)|VBA入門VBAのForNextは、同じ処理を繰り返し行うためのVBA構文です。繰り返し処理はループ処理とも呼ばれます。マクロでのループ処理の記述は何通りかありますが、まず最初に覚えるべきものが、今回説明するForNextです。
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門値の貼り付けと題しましたが、値だけではなく、「形式を選択して貼り付け」のいろいろな指定方法です。セルをコピーして、他のセルに「形式を選択して貼り付け」する場合のマクロVBAコードです。セルの値や書式を別のセルにコピーすることはマクロVBAでは定番かつ必須の技術になります。
6.Excelショートカットキー一覧|ExcelリファレンスExcel作業を効率化するショートカットキーの一覧と、必須ショートカットの詳細解説です、ショートカットは画面や選択状態により変化しますので注意して下さい。機能別一覧とキー順一覧の2通りで一覧表にしています。Excelショートカットキー機能別一覧 Excelショートカットキーキー順一覧 表記について Ctrl+Shi…
7.マクロって何?VBAって何?|VBA入門エクセルのマクロって何でしょうか? ExcelのVBAって何でしょうか? 「マクロ」とは、エクセルの操作を自動化するものです。その自動化する機能が、「マクロ」と呼ばれています。マクロの中身は、プログラムです。
8.並べ替え(Sort)|VBA入門並べ替えは、データ処理の基本中の基本です。乱雑なデータを並べ替えることはデータ処理の第一歩です。マクロVBAで並べ替えを実行するには、シート操作の「並べ替え」の機能を使用することになります。そもそもデータを並べ替えるという事は、そのデータのキーが何かを考えるという事です。
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。しかし、"A1"や"B5"のような文字で指定するのでは何かと不便です、もっと、プログラムっぽい(笑)指定方法があります。
10.エクセルVBAでのシート指定方法|VBA技術解説ExceのマクロVBAにおいてシート指定は必須になりますが、シートの指定方法は何種類かあり、それぞれの特徴があります。シートの指定方法には、以下の3通りがあります。✅シートのインデックスで番号 ✅シートの名称で指定 ✅シートのオブジェクト名で指定 シート指定方法…
11.繰り返し処理(Do Loop)|VBA入門繰り返し処理として前回はFor~Nextをやりました。今回はDo~Loopです。For~Nextに比べると使用頻度は落ちますが、必ず覚える必要があるものです。For~Nextは、繰り返す回数をあらかじめ指定するものでしたが、Do~Loopは、繰り返す回数ではなく、繰り返す条件を指定するものです。
12.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門ワークブックを閉じる場合や保存する場合のマクロVBAの説明です。閉じる時に保存するか保存しないかを指定できます。また、ブックを保存するにも、上書きなのか別ファイルにするのか等によってVBAの記述がそれぞれ違ってきます。
13.条件分岐(Select Case)|VBA入門前回のElseIf以外に、多肢条件分岐の別の書き方があります。それがSelectCaseになります。むしろElseIfより、このSelectCaseの方が、より多肢条件分岐に適していると言えます。SelectCaseは、多肢条件分岐に特化したステートメントになります。
14.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)|VBA入門前回実行したマクロを、もう少し詳しく見てみましょう。どうしてこれでセルに値が入るのか。どうやってVBAを読んだらよいのか。前回書いたVBAコード 前回書いたVBAは以下の通りです。これを少しだけ詳しく解説します。
15.最終行・最終列の取得方法(End,CurrentRegion,SpecialCells,UsedRange)|VBA技術解説エクセルの表をマクロVBAで扱う時は、データ部分の先頭から最終行までの、開始列から最終列まで処理する事が多いでしょう。開始行や開始列は、ほとんどの場合、見出し行や見出し列の次からになります。単純な話として、1行目に見出しがあれば、2行目から 1列目に見出しがあれば、2列目から では、ここで、最終行や最終列は、
16.とにかく書いてみよう(Sub,End Sub)|VBA入門それでは、とにかくマクロVBAを書いてみましょう。VBEで実際にマクロを書いてみましょう VBE(VisualBasicEditor)に標準モジュールを追加したら、そこにマクロを書いていきます。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。
17.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄ExcelマクロVBAの基礎を学習する方法、マスターする道順についてです。ExcelマクロVBAは非常に便利です、手作業では、数時間・数日かかる処理が、ほんの一瞬で処理できてしまいます。ただし、マクロVBAを書く為に、相応の時間はかかりますが、それでも、そのマクロVBAを書く時間は一度きりです。
18.Findメソッド(Find,FindNext,FindPrevious)|VBA入門Findメソッドは、マクロVBAでセル範囲内の条件に当てはまるセルを検索するものです。Findメソッドは、Rangeオブジェクトのメソッドで、ワークシート操作の「検索と置換」の「検索」の機能をマクロVBAで使うものになります。上の画像では「検索する文字列」だけしか指定できませんが、「オプション」をクリックすると、
19.CSVの読み込み方法|VBAサンプル集エクセルのマクロVBAでのCSVの読込方法としては。・テキストファイルとして読み込む ・ワークブックとして読み込む ・クエリーテーブルを使う ・ADOを使う ・PowerQueryを使う 大別するとこのようになります。この記事を書いた当初は、エクセルのマクロVBAでCSVの読み込みについてネットで検索したところ、
20.Rangeでのセルの指定方法|VBA入門前回までに出てきたRangeの使い方は、Range("A1") このように書くことで1つのセルを指定する場合でした。複数のセル範囲を指定する場合、矩形のセル範囲、行全体、列全体、特殊なセル範囲 これらの指定方法を見ていきましょう。複数のセル(矩形のセル範囲) 複数のセル(矩形のセル範囲)を指定する場合のVBAの書き…
フリーソフト、シェアウェア・・・Excelは購入によりVBAコードも開示
※現在は公開を停止しています。
フリーソフト、シェアウェア、ソフト一覧
使った感想などをお寄せくだされば、今後の開発に生かしていきます。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「お客様第一」顧客管理システムは有料ソフトです、試用版を用意してあります。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
試用版の場合は、プロダクトキーの入力だけで有料版へ移行できます。
まずは一度、お試し下さい。
「エクセル顧客管理」は顧客管理です。購入でVBAコードも開示します。
「エクセル営業管理」は見積・請求・スケジュール・会計管理です。購入でVBAコードも開示。
「たぶん同期」フォルダ同期ソフトはフリーソフトです、ご自由にどうぞ。
「エクセル集」総務部、社会保険労務士向け、完全フリーです。
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。