テーブル操作のVBAコード(ListObject)|VBA入門(2019年5月12日)
テーブル操作の具体的なVBAコードをパターン別に掲載します、テーブルの全体的な構成は ・テーブル全体 ・見出し行 ・データ範囲 ・集計列 ・集計行 VBAでは、これらのオブジェクトを使い各要素にアクセスします。
テーブル操作の概要(ListObject)|VBA入門(2019年5月12日)
テーブルのVBAでの操作で使用するオブジェクトの概要の説明です、テーブルは、セルの範囲を表(テーブル)に変換することで、関連するデータの管理と分析を容易にできるエクセルの機能で、以前はリストと呼ばれていました。
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(2019年5月6日)
VBAでWebスクレイピングする方法としてIE自動操作がありますが、VBA記述が結構面倒になります、もっと簡単にスマートにVBAを書きたいと思ったら…SeleniumBasicを使ってみましょう。
Excelワークシート関数一覧(2010以降)|VBAリファレンス(2019年4月22日)
Excelワークシート関数の一覧と解説です。Excel2010以降に追加された関数一覧になります。
クラスとCallByNameとポリモーフィズム(多態性)|VBA技術解説(2019年4月6日)
VBAの使い方が進んでいくとクラスを使うようになっていきます。クラスを使うようになるとオブジェクト指向という言葉に出会い、オブジェクト指向を学んでいくとポリモーフィズム(多態性)という言葉に出会います。
VBAでのタイマー処理(SetTimer,OnTime)|VBA技術解説(2019年4月3日)
VBAでタイマー処理(一定時間間隔で処理)を行う方法についての解説です。最も一般的な方法は、Application.OnTimeを使う方法になりますが、今回の主題としては、WindowsAPIのSetTimerを紹介します。
クラスとイベントとマルチプロセス並列処理|VBA技術解説(2019年4月2日)
エクセルVBAではマルチスレッドによる並列処理はサポートされていません、つまり通常は順序良く直列に処理していくしかありません。しかし処理時間が多大にかかるような処理も現実には存在しているため、エクセルVBAで並列処理したいという要望も出てきます。
エクセルの日付と時刻のまとめ|エクセル関数超技(2019年3月6日)
エクセルに入力するデータとしては、数値、文字、日付時刻などがありますが、日付時刻はかなり特殊なものとなっています。日付時刻の扱いは独特であり、エクセルのワークシートだけでなくマクロVBAでも他のプログラミング言語でも扱いが面倒なものです。
Excelシートの複雑な計算式を解析するVBA|VBAサンプル集(2019年2月18日)
セルに入力されている数式が折り返されていて複数行(ときに3行以上)になっている場合、数式バーで見ていたのでは、どんな数式なのかがさっぱりわからなくなります。このような複雑な数式を分解し、分かり易く表示するVBAを作成しました。
VBAクラスの作り方:独自Rangeっぽいものを作ってみた|VBA技術解説(2019年2月16日)
クラスの作成は、標準モジュールで作成していた時とは様相が違い戸惑う部分も多いと思います、それは、初めてVBAに取り組んだ時の戸惑いと同じかもしれません。最初はとにかく慣れることが一番です、細かい文法や機能は、少し慣れてから改めて学んでも遅くはありません。
VBAクラスの作り方:列名のプロパティを自動作成する|VBA技術解説(2019年2月14日)
クラスに列名のプロパティを作成することで、入力支援が使えてコーディングが楽になりますが、列数が多くなればVBAの記述量が増え、コーディングが大変になります。入力支援が使えるのは良いが、その事前準備があまりに大変ではやる気が失せてクラス作るのが面倒になってしまいます。
VBAクラスの作り方:列名の入力支援と列移動対応|VBA技術解説(2019年2月11日)
クラスを使う良さとして、入力支援が使えてコーディングが楽になるという利点があります、列番号をクラスに持てば、列名が候補表示されて非常に便利です。しかし、これを実装するには、かなりの手間がかかります。
クラスを使って他ブックのイベントを補足する|VBA技術解説(2019年2月6日)
VBAでイベントを使う場合は、通常はイベントが発生するオブジェクト(ブックやシート等)のモジュールに記載します、つまり、各ブックの中にマクロを入れなければなりません。他ブックのイベントを処理するには、WithEventsキーワードを付けた変数宣言を使います
Excelアドインの作成と登録について|VBA技術解説(2019年2月3日)
Excelアドインの作成方法と登録方法についての手順と注意点、そして対応するマクロVBAコードについて紹介します。具体的にどんなアドインを作成するかではなく、一般的なアドインの作成と登録についての概要の解説とVBAコードのサンプルになります。
参照設定、CreateObject、オブジェクト式の一覧|VBA技術解説(2019年1月20日)
VBAでエクセル外のオブジェクトを使うときには、事前バインディングと遅延バインディング(実行時バインディング)の2通りがあります、この時それぞれ何を指定したらよいのか、指定する文字列が長いので結構探してしまうことが度々あります。
VBAでファイルを規定のアプリで開く方法|VBA技術解説(2019年1月20日)
Excelマクロで、エクセル以外のファイルを規定のアプリケーションで開く場合の方法について何通りか解説します、VBAでファイルを単純に開くだけの場合についてになります。
ドキュメントプロパティ(BuiltinDocumentProperties,CustomDocumentProperties)|VBA技術解説(2019年1月19日)
ブックのドキュメントプロパティには、組み込みドキュメントプロパティとユーザー設定のドキュメントプロパティがあります。
他ブックへのリンクエラーを探し解除|VBAサンプル集(2019年1月15日)
リンクエラーが見つけられない・・・「リンクの編集」で、「リンクの解除」を選択してもリンクが削除できない・・・こんな経験をした人は多いのではないでしょうか。
特殊フォルダの取得(WScript.Shell,SpecialFolders)|VBA技術解説(2019年1月1日)
デスクトップのフォルダ、スタートメニューのフォルダ、個人用ドキュメントのフォルダなど、Windowsの特殊フォルダを取得するには、ネイティブのWindowsシェルへのアクセスを提供するWScript.ShellのSpecialFoldersプロパティを使用します。
数値範囲で表検索するVLOOKUP近似一致|エクセル関数超技(2018年10月5日)
数値範囲で指定されている表を検索する場合は、VLOOKUPの近似一致を使います。○以上~△未満、○超~△以下、このような数値の範囲で示されている表を検索する場合は、VLOOKUPの近似一致を使う事で検索できます。
エクセルVBAでのシート指定方法|VBA技術解説(2018年9月8日)
ExcelマクロのVBAにおいてシート指定は必須になりますが、シートの指定方法は何種類かあり、それぞれの特徴があります。シート指定方法ごとに使い方を簡単に説明しながら、それぞれの主な使用場面やメリット、デメリット等を解説します。
VBAのクラスとは(Class,Property,Get,Let,Set)|VBA技術解説(2018年8月28日)
VBAを覚えて、いろいろ作りながらネットで調べたりしていると、クラスやらオブジェクト指向やらという言葉に出くわします。いくら言葉を尽くしても、これらクラスやオブジェクト指向を完全に説明しつくすことは難しいと思われます。
VBAこれだけは覚えておきたい必須基本例文10|VBA技術解説(2018年8月22日)
VBAを覚える順序としては、・文法から始める方法 ・実践例文から始める方法 どちらが良いとは言い切れませんが、もし文法習得に限界を感じているなら、実践的な基本例文を暗記することから始めてみると良いでしょう。また、VBA習得において、・何を目標にやっていけばよいのか ・・・
VBAの省略可能な記述について|ExcelマクロVBA技術解説(2018年8月11日)
VBAには、省略可能な記述が数多くあります、省略可能な記述とは、書いても書かなくても動作に何の違いもないものになります。VBAのこの記述の自由度は、慣れてしまえば楽なものですが、初心者の方が覚え始める時には、多少混乱することもあると思います。
複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(2018年7月11日)
多くの条件を判定して処理を決めなければならない場合は多くありますが、複数条件判定を行う時のIfステートメントの使い方はいろいろあります。覚えておきたい基本的なIfステートメントの組み立て方法を紹介します。
For Next の使い方いろいろ|VBA技術解説(2018年6月14日)
VBAの繰り返し処理としては、ForNextまたはDoLoop この二つを最初に学んだのではないでしょうか。プログラムにおける繰り返し処理は、基本中の基本です。
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(2018年3月26日)
VBAの書籍を読んでも、ネットの解説記事を読んでも、なかなかVBAをマスター出来ないという場合は、学習方法が間違っているかもしれません。その人に合った学習方法、人それぞれ違うのは当然です。
VBAスタンダード試験対策まとめ|VBAエキスパート対策(2018年3月16日)
VBAスタンダードの記事を一通り書き終えたので、模擬問題プログラムを再度やってみました、問題をやってみた感想と、気になった点や、重点的に学んだ方が良さそうな事をまとめておきます。公式テキスト購入でダウンロードした模擬問題プログラムには、2コースが用意されています。
ユーザーフォームとメニューの操作|VBAエキスパート対策(2018年3月14日)
・ユーザーフォームの操作 ・コントロールの操作 ・メニューとツールバーの操作 2019/05/15からの「VBAエキスパート」リニューアルに伴い出題範囲から削除されました。【ここでのポイント】 ユーザーフォーム、コントロールについては、学ぶべきことが膨大にあります。
ファイルの操作|VBAエキスパート対策(2018年3月14日)
・テキストファイルの操作 ・ファイルのコピーと移動 ・フォルダの操作 【ここでのポイント】 テキストファイルの操作に関しては、定型文として、そのまま覚えるようにして下さい。以下の説明を一通り読んだ後は、使用例のVBAコードを丸暗記する感じで覚えて下さい。
ユーザーフォームの各種イベント|Excelユーザーフォーム(2018年3月13日)
ユーザーフォームに対する操作(アクション)で発生するイベントの一覧です、ユーザーフォームそのものの制御をする場合は、このイベントを利用します。
レジストリの操作|VBAエキスパート対策(2018年3月12日)
・レジストリの概念 ・レジストリ操作の注意点 ・レジストリに登録する ・レジストリを取得する ・レジストリを削除する 2019/05/15からの「VBAエキスパート」リニューアルに伴い出題範囲から削除されました。【ここでのポイント】 ここは試験対策と割り切って覚えて下,Excel VBAエキスパート対策です。
変数と配列|VBAエキスパート対策(2018年3月12日)
・静的変数 ・動的配列 ・オブジェクト変数 ・ユーザー定義型 【ここでのポイント】 覚えるべき項目がはっきりしているので、学びやすい章だと思います。静的変数は、プログラミング言語の変数としての意義は大きいのですが、かといって、、、
Colorプロパティの設定値一覧|VBA技術解説(2018年3月12日)
塗りつぶし、文字色、等々の色指定は結構悩ましいものがあります、Excel2003までなら、ColoIndexで56色だけだったので簡単でしたが、Excel2007以降は、フルカラーがつかえるようになった為、色指定が悩ましくなりました。
APIとOLEオートメーション|VBAエキスパート対策(2018年3月11日)
・OLEオートメーションの概念 ・OLEオートメーションの使い方 ・OLEオートメーションの注意点 ・APIの概念 ・APIの使い方 【ここでのポイント】 OLEオートメーションは、Excel以外のアプリケーションを操作するものなので、対象となるアプリケーションは多数,Excel VBAエキスパート対策です。
エラーへの対処|VBAエキスパート対策(2018年3月10日)
・OnErrorGoto ・OnErrorResumeNext ・Errorオブジェクトほか 【ここでのポイント】 公式テキストでは、文法エラーと論理エラーについて書かれていますが、そこはベーシックの出題範囲なので、ここでは省略します。
関数|VBAエキスパート対策(2018年3月9日)
・よく使う関数 【ここでのポイント】 「良く使う」かどうかは、人によって、使い方によって変わってきます。統計分析をする、財務会計データを加工する、実験データを整理する、アンケートを集計する、・・・それぞれ必要となる関数は違ってきます。Excel VBAエキスパート対策です。
ステートメント(スタンダード)|VBAエキスパート対策(2018年3月9日)
・SelectCase ・Do...Loop ・For...Eachほか 【ここでのポイント】 VBAには、基本かつ最重要ステートメントが6つあります。If...EndIf For...Next With...EndWith SelectCase Do...Loop ,Excel VBAエキスパート対策です。
イベント|VBAエキスパート対策(2018年3月8日)
・イベントとは ・ブックのイベント ・シートのイベント 2019/05/15からの「VBAエキスパート」リニューアルに伴い出題範囲から削除されました。【ここでのポイント】 ブックとシートのイベントは多数あります。Excel VBAエキスパート対策です。
プロシージャ|VBAエキスパート対策(2018年3月7日)
・引数の意味 ・引数の宣言 ・値渡しと参照渡し 【ここでのポイント】 ここで覚えることは、Call Sub Function ByVal ByRef Optional たったこれだけですが、VBAの基本です。ここがあやふやではマクロ作成などできません。
VBAベーシック試験対策まとめ|VBAエキスパート対策(2018年3月3日)
VBAベーシックの記事を一通り書き終えたので、模擬問題プログラムを再度やってみました、問題をやってみた感想と、気になった点や、重点的に学んだ方が良さそうな事をまとめておきます。公式テキスト購入でダウンロードした模擬問題プログラムには、2コースが用意されています。
マクロの実行|VBAエキスパート対策(2018年3月1日)
・VisualBasicEditorから実行する ・[マクロ]ダイアログボックス ・シート上にボタンを配置する ・メニュー/ツールバーに登録する ・クイックアクセスツールバーに登録する 【ここでのポイント】 ここは、試験対策としてはあまり重要視する必要はないでしょう。Excel VBAエキスパート対策です。
デバッグデの基礎|VBAエキスパート対策(2018年3月1日)
・デバッグとは ・論理エラーと文法エラー ・イミディエイトウィンドウ ・ブレークポイント ・ステップ実行 【ここでのポイント】 あまりにも範囲が広いため、どこまでが出題範囲なのか悩ましいてころです。デバッグそのものを問う問題だとしても、例文にVBAコードが存在する場合,Excel VBAエキスパート対策です。
シートの操作|VBAエキスパート対策(2018年2月26日)
・シートを挿入する ・シートを削除する ・シートに関連する基本的な操作 【ここでのポイント】 シートの操作は、実務では頻繁に使われるものです。頻繁というより、必ず何らかの形でシート操作が必要になります。
ブックの操作|VBAエキスパート対策(2018年2月26日)
・ブックを開く ・ブックを保存する ・ブックを閉じる 【ここでのポイント】 ここでの内容はかなり限られたものとなっています。公式テキストでは、かなりあっさりした内容となっています。
順列の全組み合わせ作成と応用方法|VBAサンプル集(2018年2月23日)
配列の要素の順番を入れ替えて、順列を作成しします、ここでは、順列作成のアルゴリズムの解説より、それを使う方法についてのサンプルが主体となります。順列は、出現順序の違いが問題となる場合に必要となります。
ステートメント|VBAエキスパート対策(2018年2月22日)
・If...EndIf ・For...Next ・With...EndWith 【ここでのポイント】 VBAには、基本かつ最重要ステートメントが6つあります。ベーシックでは、最初の3つまでになります。Excel VBAエキスパート対策です。
セルの操作|VBAエキスパート対策(2018年2月20日)
・RangeとCells ・セルにデータを入力する ・セルのデータを取得する ・セルの書式設定 【ここでのポイント】 1つのセルまたはセル範囲を指定する方法は何通りもあります。セルはExcelの基本中の基本ですので、VBAではいろいろな指定方法が用意されています。Excel VBAエキスパート対策です。
変数と定数|VBAエキスパート対策(2018年2月17日)
・変数の意味 ・変数の宣言 ・変数の代入と取得 ・スコープ ・定数の意味と使い方 【ここでのポイント】 変数・定数の宣言とその適用範囲(スコープ)をしっかり覚えて下さい。試験対策としては、・データ型 ・スコープ このあたりは、問題が作りやすいと思われます。Excel VBAエキスパート対策です。
条件付き書式で変更された書式を取得する|VBAサンプル集(2018年2月16日)
条件付き書式が設定されている場合、当然ですが見た目は、本来そのセルに設定されている書式ではなく、条件付き書式の条件によって設定されている書式になります。VBAで、この条件付き書式によって設定された書式を取得します。
VBAの構文|VBAエキスパート対策(2018年2月15日)
・オブジェクト式 ・ステートメント ・関数(Right、Left、Mid、InStr、Now、Format、MsgBox、InputBoxなど) ・演算子(「+」「-」「*」「/」「^」「\」「Mod」「And」「Or」「Not」・モジュールとプロシージャ 【ここでの,Excel VBAエキスパート対策です。
増殖した条件付き書式を整理統合する|VBAサンプル集(2018年2月12日)
コピペによって条件付き書式は際限なく増加していきます、あまり増えすぎると、Excelの動作が遅くなる場合もありますし、条件や書式を変更したい時にも困ることになります。このような場合は、条件付き書式を消して再設定するしかなくなります、これを解決するVBAを考えてみました。