エクセルの神髄
エクセル新着記事一覧

エクセル(Excel)マクロ(VBA)記事全体での新着記事一覧です
最終更新日:2020-04-06

エクセル新着記事一覧


VBAでWMIの使い方について|VBA技術解説(2020年4月6日)

WMIは、WindowsManagementInstrumentationの略になります。マイクロソフトが実装したWindowsシステムを管理するためのインターフェイスです。WMIは、Windows管理技術の中核を担っていて、ローカルコンピュータとリモートコンピュータの両方の管理に使用できます。
列幅・行高をDPI取得しピクセルで指定する|VBA技術解説(2020年4月6日)
VBAでは、ワークシートの列幅は文字数、行高はポイントで設定します。これらでの指定は便利な時もありますが、VBAで設定する場合に不便になる事も多くあります。そもそも、列幅と行高が別々の単位になっているので設定しづらいのです。
行・列の表示・非表示(Hidden)|VBA入門(2020年4月3日)
行または列を非表示にしたり、逆に表示したりする場合のVBAについて説明します。また、あるセルが表示されているか(可視セルか)の判定方法について解説します。行や列はRangeオブジェクトです。表示・非表示は、RangeオブジェクトのHiddenプロパティにTrue/Falseを設定することで行います。
ユーザーに絶対に停止させたくない場合のVBA設定|VBA技術解説(2020年4月1日)
ユーザー操作によりマクロVBAが実行中に停止させられてしまう場合があります。再実行可能であれば問題ありませんが、途中で強制停止された場合のデータ保証が出来ないと言った場合もあるでしよう。マクロ実行でも、以下のキーボード操作でVBAは停止できてしまいます。
CharactersプロパティとCharactersオブジェクト|VBA技術解説(2020年3月31日)
セルの文字列やオートシェイプの文字列の一部のフォントを変更する場合、Charactersを使います。Charactersプロパティは、Charactersオブジェクトを返します。複数形の名称でもあり、コレクションのようにも見えてしまいますがコレクションではありません。
指数近似/対数近似/累乗近似(掲載順位とCTR)|エクセル関数超技(2020年3月31日)
Google検索順位によってクリック率(CTR)が大きく違う事は皆さん知っている事でしょう。「検索順位CTR」で検索すると、1位から10位までのCTRが参考として出ています。年度やデバイス別等で数値は違って来ますが、大抵は、1位で21~32%位になっているはずです。
練習問題32(連続数値部分を取り出し記号で連結)|VBA練習問題(2020年3月24日)
マクロVBA練習問題 文字列処理の応用問題です。ab123cde45fg678hij 123-45-678 いくつかの文字といくつかの数値が、交互に出てくる文字列から、数値部分のみを取り出し、連続している数値は一塊として、記号(-)で連結します。
連続数値部分を取り出し記号で連結|エクセル関数超技(2020年3月24日)
文字と数値が混在している文字列から、連続している数値を取り出し、記号(-ハイフン等)で連結します。ツイッターでお題をつぶやいたものです。ab123cde45fg678hij 123-45-678 車中で思い浮かんだのだが、関数でできるのか? 作成する関数の仕様 ab123cde45fg678hij 123-45-678 いくつかの文字といくつかの数値が、
数式バーの高さを数式の行数で自動設定|VBAサンプル集(2020年3月21日)
数式バーの高さは、操作で変更しない限り一定の高さのままになっています。通常は1行表示になっている場合が多いと思いますが、その場合、セル内で改行されていると最初の1行しか見ることができません。値の場合はセルに表示されているのであまり問題ありませんが、数式の場合はセル編集にしないと数式の全部を見ることができません。
LET関数(数式で変数を使う)|エクセル入門(2020年3月21日)
LET関数は、関数内で計算結果やセル範囲に名前を定義できます。これにより、数式の中間計算に名前を定義したり、後ろの引数で定義した名前を式に使う事が出来ます。これはプログラミングにおける変数と同じ機能になります。
スピルに対応したXSPLITユーザー定義関数(文字区切り)|VBAサンプル集(2020年3月15日)
エクセルにスピルが登場して、VBAのユーザー定義関数の用途も広がってきていると思います。そこで、文字列を指定した記号・文字列で区切て、セルに出力するユーザー定義関数を作ってみましょう。VBAにはSplit関数がありますが、これをワークシート関数として使えるようにしてみましょうという事です。
XMATCH関数(範囲から値を検索し一致する相対位置)|エクセル入門(2020年3月14日)
XMATCH関数は、配列またはセル範囲内で指定された項目を検索し、最初に一致した項目の相対的な位置を返します。検索値が見つからない場合は、#N/Aを返します。MATCH関数を機能強化した新関数です。XMATCH関数はスピルで登場した新しい関数です。
XLOOKUP関数(範囲を検索し一致する対応項目を返す)|エクセル入門(2020年3月14日)
XLOOKUP関数は、範囲または配列を検索し、見つかった最初の一致に対応する項目を返します。VLOOKUP関数とHLOOKUP関数の両方の機能を備え、さらに新しい機能まで追加された新関数です。VLOOKUP関数、HLOOKUP関数の引数は4個でしたが、XLOOKUP関数の引数はなんと6個あります。
VBAでシート関数使用時の配列要素数制限|VBA技術解説(2020年3月12日)
VBAでワークシート関数が使えるのはとても便利です。WorksheetFunctionのシート関数を使う事は多いですが、配列を引数に指定した場合は要素数に制限があります。この制限があることは、ワークシート関数だという事を考えれば仕方ないのかもしれません。
SEQUENCE関数(連続数値)|エクセル入門(2020年3月11日)
SEQUENCE関数は、連続した数値の配列を作成します。1,2,3,…など、連続した数値の一覧を生成することができます。SEQUENCE関数はスピルで登場した新しい関数です。SEQUENCE関数の書式 =SEQUENCE(行,[列],[開始],[目盛り]) 行 必須です。
RANDARRAY関数(ランダム数値)|エクセル入門(2020年3月11日)
RANDARRAY関数は、ランダムな数値の配列を返します。行と列の数、最小値と最大値、および整数または10進数の値を返すかどうかを指定できます。RANDARRAY関数はスピルで登場した新しい関数です。
UNIQUE関数(一意の値)|エクセル入門(2020年3月11日)
UNIQUE関数は、範囲または配列から一意(ユニーク)な値を返します。範囲または配列から重複を削除して一意化した配列を返します。UNIQUE関数はスピルで登場した新しい関数です。UNIQUE関数の書式 =UNIQUE(配列,[列の比較],[回数指定]) 配列 必須です。
SORT関数、SORTBY関数(範囲を並べ替え)|エクセル入門(2020年3月10日)
SORT関数は、範囲または配列の内容を並べ替えます。SORTBY関数は、範囲または配列を対応する範囲または配列の値に基づいて並べ替えます。SORT関数とSORTBY関数は範囲を並べ替える関数ですが、同じこともできますが、れぞれの関数でなければできないこともあります。
スピルを使って文字列を1セルずつに分解|エクセル挑戦問題(2020年3月9日)
エクセル挑戦問題 2019年にOffice365のExcelに実装された革新的な機能としてスピルがあります。スピルを上手に使うと、今まで多くの作業列を使う必要があったものが、かなり簡略化された数式で実現することができます。スピルの詳細については、以下を参照してください。
VBAで電光掲示板を作成|VBA技術解説(2020年3月8日)
VBAで電光掲示板っぽいものを作成しました。方眼紙エクセルのセルをドットとしてフォントを表示し、それを移動させています。電光掲示板をVBAで作っても使い道があるとは思えませんが、他に転用できる内容としては、東雲フォントのドットパターンを使い、1ドットを1セルで文字を表示するところでしょう。
VBAでWEBカメラ操作する|VBA技術解説(2020年3月6日)
VBAでWEBカメラを操作してみます。WEBカメラの映像を映し出し、任意の時点でスナップショットをとるようにしています。エクセルでやる実用的な意味はほとんどありませんが、技術的な興味でやってみた自身の覚え書きになります。
VBAでWindowsMediaPlayerを使い動画再生する|VBA技術解説(2020年3月3日)
VBAで動画を再生する方法を何通りか試してみます。VBAで直接動画を再生できるわけではないので、コントロールのWindowsMediaPlayerを使って再生します。動画を再生するだけなら簡単そうなのですが、実際にはいろいろと問題がありました。
図形を方程式で動かすVBAクラス|VBA技術解説(2020年2月27日)
図形を決められた方程式で動かします。もちろん、実用として何かに使うといった物ではなく、純粋にVBAやクラスの勉強素材になります。以下では、小さい●を円の方程式や8の字の方程式で動かしています。クラスモジュールのVBA クラスモジュール名:clsSpinAround 標準モジュールでのNewと一致させれば何でも構いません。
ツイッターのお題「君の名は?」|エクセル雑感(2020年2月24日)
ツイッターで出題されたVBAの問題をやってみました。ツイッターのエクセルおよびVBA関係の人達の間で問題を出し合うという事が行われています。今回のお題は以下になります。ツイートへのリンク お題:君の名は? "-"ちゃんの名前がわかりません!教えてください。
セルの数式をネスト色分けしてコメント表示|VBAサンプル集(2020年2月24日)
数式のネストが3段階を超えてくる、なかなか読むのが辛くなってきます。数式を改行したりして見やすくするにも限界があります。特別に複雑な数式を解析する場合は、以下を試してみてください。Excelシートの複雑な計算式を解析するVBA このようなツールを使うほどではないが、数式を色分けしてちょっと見やすくなれば、
スピルを使って日付の一覧を出力|エクセル挑戦問題(2020年2月22日)
エクセル挑戦問題 2019年にOffice365のExcelに実装された革新的な機能としてスピルがあります。スピルを上手に使うと、今まで多くの作業列を使う必要があったり、とても難しい配列数式にしなければならなかったものが、かなり簡略化された数式で実現することができます。
簡易音楽プレーヤーの作成|ユーザーフォーム入門(2020年2月22日)
VBAにも音楽を!ということでVBAで音楽再生するVBAクラスを作成しました。VBAで音楽再生するクラスを作成 そこで、このクラスを使い簡易的な音楽プレーヤーを作ってみました。あまり本格的なものは作れませんし、良いソフトが沢山ありますので自作しても仕方ありません。
VBAで音楽再生するクラスを作成|VBA技術解説(2020年2月22日)
VBAにも音楽を!ということでVBAで音楽再生をしてみることにしました。VBAでの音楽再生方法はいろいろありそうですが、多くの環境で動くのではないかという事でAPIを使いました。mciSendString このAPIで音楽再生します。
セル結合なんて絶対に許さないんだからね|VBAサンプル集(2020年2月17日)
セル結合の弊害はネットに溢れているのでここで改めて説明の必要はないでしょう。とはいえ、ついついセル結合してしまう事ありますよね、人間だからね。VBAで適切に処理すればセル結合もきちんと処理は可能です。
セル結合/解除でセル値を退避/回復|VBAサンプル集(2020年2月16日)
セル結合の弊害はネットに溢れているのでここで改めて説明の必要はないでしょう。とはいえ、セル結合したい場合もありますよね、人間だからね。VBAで適切に処理すればセル結合もきちんと処理は可能です。第85回.結合セルの扱い|VBA入門 しかし、セル結合した時にどうしようもないのが、各セル値が失われてしまうことです。
FILTER関数(範囲をフィルター処理)|エクセル入門(2020年2月11日)
FILTER関数は、定義した条件に基づいてデータ範囲をフィルター処理した結果を返します。FILTER関数はスピルで登場した新しい関数です。最後の方では、表示する列を選択する方法も掲載しています。FILTER関数の書式 =FILTER(配列,含む,[空の場合]) 配列 必須です。
「VBAで導関数を求めよ」ツイッターのお題をやってみた|エクセル雑感(2020年2月9日)
ツイッターで出題されたVBAの問題をやってみました。ツイッターのエクセルおよびVBA関係の人達の間で問題を出し合うという事が行われています。そんな中、現役高校生と思われる方からVBAの問題が出されました。
Property {Get|Let|Set} ステートメント|VBA入門(2020年2月9日)
VBAでは、カスタムプロパティの作成と操作ができます。クラスモジュール、フォーム、標準モジュール、これらにカスタムプロパティを作成することができます。プロパティを作成するには、Property{Get|Let|Set}ステートメントを使用します。
フィボナッチ数列(再帰呼び出し)|VBA技術解説(2020年2月8日)
フィボナッチ数列は、最初の二項は0,1で、以後は直前の2つの項の和となっている数列です。VBAでフィボナッチ数列を出力してみましょう。もちろん、フィボナッチ数を勉強しようとか、何かに使おうという事ではありません。
エクセルで連立方程式を解く(MINVERSE,MMULT)|エクセル雑感(2020年2月7日)
とつぜん連立方程式を解くことになりました。なぜ連立方程式を解くことになったのか、そして、どうやって答えを導き出したのか… これらを自身の覚え書きの意味も含めて記事にしておきます。ただし、行列の難しい説明は抜かして、どうやって解決したかの経緯の説明が中心になります。
スピルって速いの?スピルの速度について|VBA技術解説(2020年2月4日)
Office365を導入する企業や個人で契約する人もかなり増えてきているようです。自然とスピルや新関数を使う事も増えてくるでしょう。今まで範囲内に同じ数式を入れるときは、絶対参照・相対参照を組み合わせて入れなければならず、これを難しく感じていた人も多いでしょう。
スピルでVBAの何が変わったか|VBA技術解説(2020年2月3日)
Office365にスピルが登場し、2020年1月にはXLOOKUPもリリリースされ、ますますエクセルが便利になってきています。スピルは、これまでにないくらい大幅な機能変更と言えるでしょう。スピルの一般的な説明については以下を参照してください。
スピルについて|エクセル入門(2020年2月3日)
2019年にOffice365のExcelに実装された革新的な機能としてスピルがあります。数式を入力したセルから結果があふれて隣接したセルにも出力されるのがスピルです。今までは数式を入れたセルにしか結果を出せませんでしたが、スピルでは隣接するセルにまで結果が表示されます。
エクセルで「もういくつ寝るとお正月」|エクセル雑感(2020年1月29日)
今日は2020年1月31日です。早いもので1月が終わろうとしています。つまり、2020年も12分の1がすでに終わろうとしています。この調子では、あっという間に今年(2020年)も終わってしまいそうです。
VBAの少数以下の演算誤差について|VBA技術解説(2020年1月29日)
ワークシートで時間計算をしていると、時に不可解な結果に見舞われることがあります。エクセルの時間は、1日を1とした数値で管理されているため、1時間は1の24分の1の数値になります。この少数以下の計算において、エクセルが正しく計算できないというものです。
VBAで写真の撮影日時や音楽動画の長さを取得する|VBA技術解説(2020年1月23日)
写真の撮影日時、音楽や動画の再生時間、これらをVBAで取得します。写真や音楽、動画をフォルダにまとめて入れている人は多いのではないでしょうか。しかし、なかなかちゃんと管理できていなかったりしませんか。
ツイッターで出されたVBAのお題をやってみた|エクセル雑感(2020年1月13日)
ツイッターで出題されたVBAの問題をやってみました。ツイッターのエクセルおよびVBA関係の人達の間では、いろいろと面白く勉強になる問題を出し合うという事が行われています。フォローして参加してみると楽しいと思いますよ。
イベントプロシージャーの共通化(Enter,Exit)|ユーザーフォーム入門(2020年1月13日)
ユーザーフォームのVBAでは、同じイベントプロシージャーを何個も作成することが多々あります。テキストボックスを複数個配置して同じイベント処理を実装する時、全く同じイベントプロシージャーをコピペで何個も作るといったことが必要になります。その解決方法として前回、第23回.イベントプロシージャーの共通化 WithEventを使った方法を紹介しましたが、
Rangeオブジェクトの論理演算(差集合と排他的論理和)|VBA技術解説(2020年1月10日)
複数のRangeオブジェクトの重なっている範囲や、結合した範囲等々、Rangeオブジェクトを集合として、その集合演算の結果のRangeオブジェクトが必要になってくる場合がVBAでは良くでてきます。VBAで標準でサポートされているものとしては、和集合:Unionメソッド 積集合:Intersectメソッド この二つがありますが、
イベントプロシージャーの共通化|ユーザーフォーム入門(2020年1月7日)
ユーザーフォームに部品コントロールを配置していくとき、同種のコントロールを繰り返し何個も配置することは良くあります。コピペしながらようやく配置し終わったと思ったら、今度はVBAで同じイベントプロシージャーを何個も作成しなければならなくなります。
コントロールの動的作成|ユーザーフォーム入門(2020年1月6日)
ユーザーフォームは、事前に画面デザインを考えて、それにそって部品コントロールを配置するものです。しかし、ユーザーの操作に応じて、動的に部品コントロールを変更したい場合があります。このような場合の対処方法としては、大きく以下の2通りの方法があります。
Evaluateメソッド(文字列の数式を実行します)|VBA技術解説(2020年1月5日)
Evaluateメソッドは、Excelで使用する名前をオブジェクトまたは値に変換します。簡単に説明すれば、セルに入れる数式を文字列としてVBAで実行できます。Evaluateメソッドの構文 式.Evaluate(name) 式には以下が指定できます。
エクスポート(PDF/XPS)|VBA入門(2020年1月2日)
シートの内容をPDF/XPS出力するには、VBAではExportAsFixedFormatメソッドを使用します。このメソッドが使える対象オブジェクトは複数あります、ブック、シート、セル、それぞれにExportAsFixedFormatメソッドが存在するので、印刷範囲によって使い分けてください。
分析関数(OVER句,WINDOW句)|SQL入門(2019年12月25日)
分析関数はグループ内の指定された範囲で集計を行い、結果を集計元の各行に戻すことができます。分析関数はSQLとしては比較的新しい機能で、ウィンドウ(Window)関数とも呼ばれます。。サブクエリーを複数組み合わせなければできなかったものが比較的簡単なSQL文で実現できるようになります。
取得行数を限定するLIMIT句|SQL入門(2019年12月21日)
SELECT文の結果は対象行が全て出力されますが、「先頭の何件だけ取得したい」このような時に使うのがLIMIT句になります。さらにOFFSET句を合わせて使う事で、途中の何行目から何件という指定もできます。LIMIT句が使えるデータベースは限られています。
外部ライブラリ(ActiveXオブジェクト)|VBA入門(2019年12月21日)
VBAには外部ライブラリ(ActiveXオブジェクト)を操作する事が出来る仕組みがあります。ActiveXオブジェクトとは、オートメーションをサポートするアプリケーションがオートメーションインターフェイスを通して他のアプリケーションに公開しているオブジェクトです。
WITH句(共通テーブル式)|SQL入門(2019年12月18日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までに、サブクエリの基本的な使い方やサブクエリをネストした場合のSQLの書き方について説明しました。今回は、このサブクエリをより分かり易く簡潔に書くことができるWITH句について解説します。
Excel2003以前のアクセスキー一覧|Excelリファレンス(2019年12月17日)
Excel2007以降でもExcel2003以前のアクセスキー(アクセラレーションキー)を使用することができます。Excel2007以降のリボンへのアクセスキーとは別に、旧Excelのアクセスキーも引き続きサポートされています。アクセスキー(アクセラレーションキー)とは メニューの横に書かれているアルファベットを、
サブクエリのネストとSQLコメント&整形|SQL入門(2019年12月15日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回は、サブクエリの基本的な使い方を説明しました。FROM句で使って他のテーブルとJOINする書き方、WHERE句のINに指定する書き方等々。今回は、サブクエリを多段階にネストする書き方を説明します。
サブクエリ(副問合せ)|SQL入門(2019年12月14日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までで、基本的な部分については一通り説明しました。今回は、より便利にSQLを使えるように副問合せ(サブクエリ)を解説します。サブクエリが使えるようになると、SQLのすごさがより実感として分かってくるはずです。
トランザクション処理|SQL入門(2019年12月11日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までは、1つのテーブルにデータを追加/更新/削除してきました。システム構築していく上では、複数のテーブルへの処理は必要不可欠になります。しかし、このとき注意しなければならない問題があります。
インデックスを作成して高速化(CREATE INDEX)|SQL入門(2019年12月9日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回の、他のテーブルのデータで追加/更新/削除では、UPDATEで多大な時間がかかっていました。この時間は、テーブルのインデックスを作成することで劇的に速くできます。
他のテーブルのデータで追加/更新/削除|SQL入門(2019年12月8日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までに、データの追加/更新/削除を解説しました。・INSERT ・UPDATE ・DELETE ただし、全て単一のテーブルだけで完結しているもので、データはエクセルのシートにあるデータを使うものでした。
データの削除(DELETE)|SQL入門(2019年12月7日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までにやってきたことを大きく分けると、・テーブル作成 ・データ挿入 ・データ取得 ・データ更新 データベースにテーブルを作成し、データを入れて、データを取り出し、データを更新しました。
データの更新(UPDATE)|SQL入門(2019年12月6日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までにやってきたことを大きく分けると、・テーブル作成 ・データ挿入 ・データ取得 データベースにテーブルを作成し、データを入れて、そしてデータを取り出しました。これでデータベースを最低限扱う事ができるようになりましたが、一度入れたデータを変更したり、
複数のSELECT結果を統合(UNION,UNION ALL)|SQL入門(2019年12月5日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回のJOINでは複数のテーブルを横に結合するものでしたが、SQLではデータを縦に連結することもできます。SQLのSELECTした結果は1つのテーブルと同様に見ることができます。
テーブルを結合して取得(INNER JOIN,OUTER JOIN)|SQL入門(2019年12月4日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回データベースの正規化を説明し、マスターデータとトランザクションデータとしてそれぞれのテーブルを作成しました。分割されたデータは結合しなければ必要な情報がそろいません。
データベースの正規化とマスタの作成|SQL入門(2019年12月3日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までは1つのテーブルのみを扱ってきましたが、これからは複数のテーブルを扱っていきます。複数テーブルの情報を必要に応じて結合して取得できるようになると、よりデータベースおよびSQLの利便性が感じられると思います。
データベースにおけるNULLの扱い方|SQL入門(2019年12月2日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回はSQL関数と演算子について解説しましたが、その中でNULLに関するものがでてきました。「NULLについては、次回詳しく解説します。」と記載、今回はNULLについて解説します。
オブジェクト変数とは何か|VBA技術解説(2019年12月2日)
VBAを使い始めてからある程度進むとオブジェクト変数を必ず使い始めることになります。しかし、オブジェクト変数をどうやって使ったらよいのか、オブジェクト変数とはどういうものなのか… ここの理解で苦しんでいることが多々あるようです。VBA入門は現在137回までありますが、オブジェクト変数については第52回.オブジェクト変数とSetステートメントででてきます。
SQL関数と演算子|SQL入門(2019年12月1日)
エクセルVBAでデータベースを扱うためのSQL入門です。前2回でSELECTをやりましたが、その中で登場したCOUNTやSUMはSQL関数です。今回は、SQL関数と演算子について、代表的なものについて使い方を解説します。
データの取得:集約集計、並べ替え(DISTINKT,GROUP,HAVING,ORDER)|SQL入門(2019年11月30日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回もっとも単純なSELECT文(SELECT…FROM…WHERE)を紹介しました。これは、1行のデータはそのまま1行のデータとして、順番はDBに保存されている順で取得されるものでした。
データの取得:条件指定(SELECT,WHERE)|SQL入門(2019年11月29日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回で100万件のデータも高速にINSERTすることができるようになりました。これからは、INSERTしたデータをいろいろな方法で取得していきます。
データの挿入:バルクインサート|SQL入門(2019年11月28日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回でデータをINSERTすることができるようになりましたが、処理時間に不満がありました。せっかくデータベースを使うのでしたら、エクセルで扱いに困ってしまうような大量データをストレスなく扱いたいところです。
データの挿入(INSERT)と全削除|SQL入門(2019年11月26日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までにテーブルを自由に作れるようになり、ワークシートからの自動作成も出来上がりました。今回は作成したテーブルにデータを追加(INSERT)していきます。
テーブル名変更と列追加(ALTER TABLE)とテーブル自動作成|SQL入門(2019年11月25日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までにテーブルを作成したり、削除したりできるようになりました。今回は作成したテーブルの名称変更とカラム(列)を追加するSQLを解説します。そして、エクセルのシートにテーブル情報を記入して、そこからテーブルを自動作成するVBAも紹介します。
テーブルの作成/削除(CREATE TABLE,DROP TABLE)|SQL入門(2019年11月24日)
エクセルVBAでデータベースを扱うためのSQL入門です。前回までにデータベースを作成し、ADOで接続できるようにしましたので、今回から実際にSQLを発行して、データベースを操作していきます。テーブルを作成したり削除する場合のSQLについて解説します。
データベースに接続/切断|SQL入門(2019年11月23日)
VBAでSQL発行するにあたり、まずはSQLを実行するデータベースに接続する必要があります。このSQL入門では、DB接続にはADOを使用します。SQLの発行とSQLの実行という言い方の違い クライアントでSQLを発行し、それを受け取ったDBサーバーがSQLを実行します。
SQLiteのインストール|SQL入門(2019年11月22日)
SQLは単独では使えません、操作対象のデータベース(DB)とSQLを発行するアプリケーションが必要です。SQLを発行するアプリケーションはエクセルVBAを使いますので、あとはDBがあれば良いということになります。本シリーズではサンプルSQLの対象データベースとしてSQLiteを使います。
SQL入門:VBAでデータベースを使う|エクセルの神髄(2019年11月22日)
マクロVBA情報を中心に、エクセル関数・基本操作までサンプルとともに解説。初心者向けの基本から上級者向けの高度な内容までVBAサンプルコードを掲載解説しています。
GetObject関数|VBA関数(2019年11月19日)
ActiveXコンポーネントから提供されたオブジェクトの参照を返します。ファイルパス(フルパスと名前)からオブジェクトの参照を作成したり、既に起動中のオブジェクトを取得する際に使用します。GetObject関数の構文 GetObject([pathname],[class]) pathname 省略可能。
ActiveXコントロール|VBA入門(2019年11月16日)
リボンの開発タブにコントロールの挿入があります。ActiveXコントロールをVBAで扱う場合の解説になります。ワークシートでActiveXコントロールを扱う事の是非はありそうですが、使用することで便利かつ見栄えの良いシートになる場合もあります。
フォームコントロール|VBA入門(2019年11月15日)
リボンの開発タブにコントロールの挿入があります。フォームコントロールをVBAで扱う場合の解説になります。ワークシートでフォームコントロールを扱う事の是非はありそうですが、使用することで便利かつ見栄えの良いシートになる場合もあります。
ジャンプの選択オプション(SpecialCells)|VBA入門(2019年11月14日)
数式の入っているセル、定数の入っているセル、条件付き書式の設定されているセル、これらをシート全体やセル範囲の中から一括で取得する方法がVBAにはあります。手動でのジャンプ機能のセル選択をVBAで使うことができます。VBAでは、RangeオブジェクトのSpecialCellsメソッドがこの機能に該当します。
CSVの読み込み方法(ジャグ配列)(改)|VBAサンプル集(2019年11月11日)
CSVのマクロVBAでの読込方法についての記事は、人気記事として多くのアクセスがあります。順次改定していくつかのバージョンが存在します。最新のジャグ配列(配列の配列)で読み込むVBAについて、UTF-8Nの文字コード判別の課題が残っていました。
VBAでのCSVの扱い方まとめ|VBAサンプル集(2019年11月9日)
マクロVBAでCSVの読み書きする方法はいくつもあり、当サイトでも複数のページでそれぞれVBAコードを掲載しています。順次記事を掲載しているので、それぞれどのような特徴があるかが良く分からなくなってしまっているようです。そこで、CSVに関するページをまとめておきました。
VBAにおける変数のメモリアドレスについて|VBA技術解説(2019年11月8日)
VBA開発においてメモリアドレスを気にすることはほとんど無いと思います。気になる場合があるとしたら、・String変数の処理が遅い ・Variant変数の処理が遅い ・ByRef,ByValの違い ・WindowsAPI使用時 このような場合に多少は気になる事があるくらいではないでしょうか。
空文字列の扱い方と処理速度について(""とvbNullString)|VBA技術解説(2019年11月7日)
空文字列と書きましたが、空文字列という表現がかなり曖昧な表現になっています。ここでいう空文字列とは、文字列が入るべき場所に、何も入っていない(ように見える)状態を指しています。VBAにおいては、空文字列の状態が2つあります。
Errオブジェクトとユーザー定義エラー|VBA入門(2019年11月5日)
VBA実行時には種々のエラーが発生します。実行時エラーに関する情報は、Errオブジェクトには入っていますので、VBA実行でエラー発生した場合は、Errオブジェクトを参照しエラー内容を調べることになります。Errオブジェクトの使い方と、ユーザー定義エラーの生成方法について解説します。
シングルクォートの削除とコピー(PrefixCharacter)|VBA技術解説(2019年11月4日)
セルに入力した先頭の'シングルクォーテーションは特殊なものとなっています。通常は、数値を文字としてセルに入れるときに使っているものです。マクロVBAでセル値を取得すると、この'シングルクォーテーションはValueでは取得できません。
ユーザー定義型の制限とクラスとの使い分け|VBA技術解説(2019年11月3日)
VBAにはユーザー定義型(Type)があり、複数の要素(複数のデータ型)を含むデータ型を定義できます。複数の値をひとまとめで扱う方法として配列がありますが、配列は同じ型の値しか扱うことができませんが、ユーザー定義型の変数には、文字列型、数値型等々の複数のデータ型をひとまとめにして入れることができます。
クリップボードに2次元配列を作成してシートに貼り付ける|VBA技術解説(2019年11月1日)
タイトルはいささかとっぴな感じですが、目的はクリップボードのデータ取得とクリップボードへデータを送る方法と、そもそもクリップボードの中に、セル範囲(つまり2次元)のデータがどのように入っているかを確認してみようという事です。そして、それが解ればクリップボードに2次元配列としてデータを用意してシートに貼り付けられるだろうという事です。
VBAクラスを使ったイベント作成(Event,RaiseEvent,WithEvents)|VBA技術解説(2019年10月31日)
VBAクラスを使う事で、ユーザー定義イベントを作成したり、動的にイベントを割り当てる事が出来ます。ユーザー独自のイベントを作成したり、フォームに動的に追加したコントロールにイベントを設定することができます。EventステートメントとRaiseEventステートメントを使う事で、ユーザー定義イベントつまりユーザー独自のイベントを作成できます。
VBAクラスのAttributeについて(既定メンバーとFor Each)|VBA技術解説(2019年10月19日)
VBAクラスをエクスポートすると各種のAttributeが設定されているのが確認できます。それぞれのAttributeの意味と、さらに追加で指定できるAttributeについて説明します。Attributeの変更はVBA標準でサポートされておらず、その使用については慎重であるべきですが、どのようなものがあるかを知るのは、
VBAの用語について:ステートメントとは|VBA技術解説(2019年10月16日)
プログラミング言語には独特の用語があります。用語の理解があやふやなままで解説を読んでも理解がずれてしまう事もあります。VBAの用語は、プログラミング言語一般で使われている用語と同じ使い方も多いのですが、中にはVBA独自の使い方をしている場合もあります。
VBAのマルチステートメント(複数のステートメントを同じ行に)|VBA技術解説(2019年10月14日)
VBAでは、基本的な決まりとして1ステートメントは1行で書くことになっています。しかし、あまりに長くなってしまうと見づらくなります。逆に、短いステートメントが多数行になっていても見づらい場合もあります。
VBAコードの全プロシージャー・プロパティ一覧を取得|VBAサンプル集(2019年10月12日)
VBAの開発規模がある程度大きくなってくると、VBAソース管理の必要性を感じることもあると思います。モジュールの数も増えてきて、プロシージャー・プロパティが膨大になってきます。以下は、指定ブックの全モジュールの全プロシージャー・プロパティを一覧にするVBAサンプルです。
VBAでエラー行位置(行番号)を取得できるErl関数|VBA技術解説(2019年10月11日)
VBAのデバッグでエラーが発生した行位置を特定する方法はいくつかあります。エラーが発生したVBAソースの行ラベルを取得することができる関数がErl関数です。Erl関数は、VB6に存在しVBAにも引き継がれ実装されているものです。
手動計算時の注意点と再計算方法|VBA技術解説(2019年10月9日)
セルを変更する度に再計算が動いてしまうと処理時間が遅くなってしまいます。そこでマクロVBAの中で、計算方法を手動にすることで対処することになります。このとき処理結果が期待した結果にならないといった事が起こらないように、手動計算時の注意点と再計算方法について解説します。
引数の数を可変にできるパラメーター配列(ParamArray)|VBA入門(2019年10月7日)
Subプロシージャー、Functionプロシージャーにおいて、引数リストの数を特定せず、不定個数の引数を渡せるよう可変にしたい場合があります。ワークシートの関数では、引数の個数が不定の関数が多数あります。=SUM(数値1,数値2,...) このように、最後が「,...」となっていて、いくつでも(限度はありますが)指定できる関数です。
VBEの使い方:デバッグ|VBA入門(2019年10月6日)
VBE(VisualBasicEditor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。ここではVBA開発で、重要かつ避けて通れないデバッグについて説明します。。
VBAにおける配列やコレクションの起点について|VBA技術解説(2019年10月5日)
VBAの配列を扱っていると、0から開始されていたり1から開始されていたりします。さすがに、混乱したり、間違ってしまう事もあると思います。0から開始される場合を、「0オリジン」英語では「zero-based」1から開始される場合を、「1オリジン」英語では「one-based」このような呼び方をします。
VBEの使い方:オブジェクト ブラウザー|VBA入門(2019年10月5日)
VBE(VisualBasicEditor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。ここではオブジェクトブラウザーの使い方について説明します。オブジェクトブラウザーの表示 メニュー「表示」→「オブジェクトブラウザ」ショートカットはF2 初期設定では、
VBEの使い方:ウォッチ ウィンドウ|VBA入門(2019年10月4日)
VBE(VisualBasicEditor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。ここではウォッチウィンドウの使い方について説明します。ウォッチウィンドウの表示 メニュー「表示」→「ウォッチウィンドウ」初期設定では、コードウィンドウの下にドッキング表示されます。
VBEの使い方:ローカル ウィンドウ|VBA入門(2019年10月3日)
VBE(VisualBasicEditor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。ここではローカルウィンドウの使い方について説明します。ローカルウィンドウの表示 メニュー「表示」→「イミィディエイトウィンドウ」初期設定では、コードウィンドウの下にドッキング表示されます。



アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.繰り返し処理(For Next)|VBA入門
9.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
10.セルに文字を入れるとは(Range,Value)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ