アスパLab

ExcelVBA Basic

EB000005_VBAエキスパート(ExcelVBAベーシック)合格講座/第五回:ブックとシートのオブジェクト

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第五回記事です。第公式テキスト第4章「VBAの構文」と第9章「シートとブックの操作」の内容について解説します。1時間の講義でお話する程度の分量です。講座受講者の復習での利用を想定しています。
ExcelVBA Basic

EB000004_VBAエキスパート(ExcelVBAベーシック)合格講座/第四回:変数と定数

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第四回記事です。第公式テキスト第5章「変数と定数」の内容について解説します。1時間の講義でお話する程度の分量です。講座受講者の復習での利用を想定しています。
LesserScraping

LS000001_GoogleChromeを起動する

「LesserScraping(レッサースクレイピング)」は初回起動時にGoogleChrome(以下chrome)の新規プロファイルを作成します。プロファイルを削除してから実行する場合も同様です。「LesserScraping」では新規プロファイルを作成した場合、そのままマクロの処理を終了します。このページではプロファイルの作成および「Start」メソッドを使用してchromeを起動する方法を解説します。
ExcelVBA Basic

EB000003_VBAエキスパート(ExcelVBAベーシック)合格講座/第三回:演算子

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第三回記事です。第公式テキスト第4章「VBAの構文」の内容について解説します。1時間の講義でお話する程度の分量です。講座受講者の復習での利用を想定しています。
ExcelVBA Basic

EB000002_VBAエキスパート(ExcelVBAベーシック)合格講座/第二回:マクロの記述と実行

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第二回記事です。公式テキスト第3章「モジュールとプロシージャ」の内容について解説します。1時間の講義でお話する程度の分量です。講座受講者の復習での利用を想定しています。
ExcelVBA Basic

EB000001_VBAエキスパート(ExcelVBAベーシック)合格講座/第一回:各種用語とマクロの記録

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第一回記事です。公式テキスト第1章「マクロとVBAの概念」~第3章「モジュールとプロシージャ」の内容について解説します。VBAエキスパート試験では全40問中最初の10問程度が用語やマクロの文法に関する選択問題です。この回で登場する用語や略語、機能の説明はすべて出題される可能性があるため、自分でも手を動かしながら読み進めてください。1時間の講義でお話する程度の分量です。主に講座受講者の復習での利用を想定しています。
関数リファレンス

F0000025_配列の重複データを削除して返す

Excelの標準機能で「重複の削除」を利用したことがある人は多いと思います。私は常々データの扱いはセル上では行わず、変数や配列を使うことをおすすめしています。そのためシートやセル上でできることはすべて配列上で実行できるようにする義務が私にはあると考えています。そのために作った関数のひとつです・・・が、ExcelVBA(マクロ)上で重複を取り除くような処理は書き方も難しくなく、他の処理と並列して、例えばFormatでデータの書式を変更しつつ重複を削除していくというようなことができるため、単一の機能しか持たないこの関数の私の使用率はゼロに近いです。さらにいうと、重複を削除するだけという処理はExcelの標準機能として実装されており、わざわざ自動化するほどでもありません。一見便利そうに見える関数ですが未だ日の目をみることがない関数です。
関数リファレンス

F0000024_配列をcsv形式の文字列に変換する

ExcelVBA(マクロ)では、シートやセル上だけでデータを処理していると行数が増えるほどに実行速度の低下を感じると思います。また100万行を超えるデータを扱うとなると、シートではデータを保持しきれずどうしても、変数や配列といったデータを保持する方法を使用することになります。また例えば複数の顧客データを統合し出力するといった場合にも100万行を超える場合、シートに出力することができないためcsv等でデータを保存する必要があります(2024/08/21:最大1,048,576行)。この関数は配列に保持しているデータをcsv形式の文字列として出力します。この関数については特筆すべき点があります。それはその実行速度です。100万行を超えるデータであっても数秒~数十秒で処理が完了してしまいます。※PCスペックや列数に処理速度は影響を受けます。
関数リファレンス

F0000023_文字列から空白を取り除く

ExcelVBA(マクロ)では、高級なプログラミング言語と同様に文字列の操作をすることができる関数が用意されています。文字列操作で需要が高いのは文字列中の空白を削除する操作かと個人的に考えています。ユーザーからの入力を受け付けるときや、システムから抽出したデータを操作するときに、意図しない空白文字が含まれるということが少なからずあります。この関数はVBAの標準関数「Trim」では実現できない、文字列中に含まれつ空白を全消去できます。関数の中身はたった3行の非常に単純な内容ですが、この2行の入力の手間を省きたいという気持ちが、業務改善・効率化・品質向上の肝だと思います。
関数リファレンス

F0000022_配列を指定位置へ貼り付ける

ExcelVBA(マクロ)では高級なプログラミング言語とは異なり最初からブックやシートが用意されています。そのためデータをセル上でのみ扱ってRPAツールを作成することも可能です。しかし、大量の顧客データなどをすべてセル上で処理すると、目に見えて実行速度が低下します。画面更新を停止するなどの改善策もありますが、一番のおすすめはデータは変数や配列で扱うことです。すでに紹介済のシート内の指定した表を配列で取得する(F0000007)関数でデータを取り込むことができます。加工や集計を実施した後、このデータをcsvファイルなどにエクスポートすることもできますが、元の位置に貼り付けたい場合もあります。このページで紹介する関数では配列のデータをシートの指定位置へ貼り付けることができます。
スポンサーリンク