VBA

ExcelVBAについての記事のカテゴリになります。
エラーや業務の効率化、ツール作成などはこのカテゴリが記事数多めになっています。

Japanese

【VBAツール】コードの差分を出す

「ExcelのVBAで組まれたコードの差分を出したいな」と思うことがあると思います。私は実際、自作で作成したコードの修正を行った際にどこを修正したのかを知りたかったり、古いプロジェクトのツールとしてVBAが使用されているケースなど。特に企業などで管理しているコードなんかは変更するたびに差分を出し、レビューをしてもらうことがほぼ必須となっていますよね、、、しかしVBAはsourcetreeを使用できないし、いちいち資料にコピペ記載するのも怠い。ということを解決する記事です。
Japanese

【VBA】名前定義をVBAで使用する方法

ExcelVBAでは、タブ[数式]→[定義された名前]→[名前の定義]で定義された保存した名前定義を使用することができます。よくシートでは使用する人が多いかもしれませんが、実はVBAでもその定義を使用することができます。今回はその使用方法、コードの使い方を紹介していきます。
Japanese

【VBA解説】そもそもEOFとBOFとは?

はじめにEOFとBOFって単語がエラーなどで出現するけどそもそもなに?って思うこともあると思います。Access VBA や ADO(ActiveX Data Objects)で扱う Recordset(レコードセット) を理解するうえで、...
Access VBA

【解決】実行時エラー ‘3021’:BOF または EOF が True のときは、現在のレコードはありません。

はじめに実行時エラー '3021':BOF または EOF がTrueの時は、現在のレコードがありません。というエラーは比較的に目にすることが多いかなと思います。このエラーは基本的に流したSQL結果のレコードがない状態でなにかを行うと出現し...
Access VBA

【VB開発】Active Recordパターンとは?DBとオブジェクトを直結する設計概念

はじめによくVB関係を触る機会があります。(Officeのシステムを昔から使用しているシステムの保守や修正依頼で)その際にOBDCを使用し、SQLserverやOracleなどと連携しデータを保管しているのですが、SQLはVB上で書きます。...
Japanese

【VBAツール】Excelの連続データの長いショートカットキーを短く簡単にしてみた

コピペでできる!連続データを入力するショートカットキー生成方法
Japanese

【Excel】マクロ有効ブックでプログラムを使用しよう

はじめに保存する拡張子を変更することでExcelはVBというプログラムを使用できるようになります。使用できるようになることでなにができるのか?Excel関数以上の性能を出すことができる繰り返し作業の自動化外部システムやファイルとの連携と様々...
Access VBA

【VBA】実行時エラー 3146 [ODBC–呼び出しが失敗しました。]

はじめにVBAでODBCを使用していた場合、このようなエラーが出現することがよくあります。しかし何が原因で失敗しているのかよくわからないため、原因究明に時間がかかることがあります。本記事は原因究明を簡単にするコードを紹介します。本当のエラー...
Japanese

【VBA】変数が多すぎる時のシンプル対処法

沢山ある変数を“意味のまとまり”で束ねる・数を減らす・スコープを絞る。この3点で一気に読みやすくなる方法をわかりやすく解説
Access VBA

【保存版】VBAの32bitから64bit対応方法まとめ|Declare文・API・エラー対策まで完全ガイド

近年、Officeのインストールが既定で64bit版になったことで、従来の32bit向けに書かれたVBAコードで次のような問題が頻発しています。**「PtrSafe属性が必要です」**というコンパイルエラー。API関数が呼び出せない、クラッシュする、古いシステムやアドインが64bitで動かない本記事では、32bit VBAから64bit Office環境への移行で必要なすべての対応手順を解説します。