VBA
紙の資料と画面のExcelの数値をチェックしたりすることはないだろうか? 残念ながらありまくりである。 今回はこの作業を少しでも楽にできないかとアドオン作ったお話 現在の作業 シートイベントの活用 シートイベントの挿入 シートイベントの内容記入 Color…
A1に”A”と入力 Enter A2に”B”と入力 Enter Ctrl+zで「元に戻す」を実行記録されるマクロは以下のようになる。 ActiveCell.FormulaR1C1 = "A" Range("A2").Select 「元に戻す」を実行すると、 「元に戻す」は記録されず、 直前の操作が記録から消える。ちなみ…
先日、別の人が作ったマクロの調整依頼を受けてコードを眺めていたときに見慣れないコードがあって、どゆこと?と思ったら実は目から鱗だったお話。 R1C1形式 R1C1形式の絶対参照 R1C1形式 R1C1形式はRに行方向、Cに列方向の位置を指定してセルを指定する方…
最終行の取得方法というと Range("A" & Rows.Count).End(xlUp).Row のようなコードを使用するが、オートフィルタ適用時には思ったような答えを返さない。 このような表があるとする。 オートフィルタ設定前に確認すると最終行は11である。 オートフィルタ…
2019/02/11 20:30 修正 以前は感じなかったのですが、最近検索してもある筈のものが検索に引っかからないと感じることが多いです。 自分の場合そういう時はほぼ検索対象が「数式」になっているためです。 個人的には式の中身を検索対象にすることは稀なので…
Personal Knowlegde ManagementツールのObsidianが楽しくて、ここ数日はExcelをそっちのけで色々といじっています。 obsidian.md 今回はObsidianを使っている中で、マクロを作成することでちょっと楽できるネタが有りましたのでご紹介。 テーブルにならない …
2025年4月頃からADO.Connection.Openが遅くなる事象が発生しています。 発生している事象と現時点で取れる対応策をご紹介します 問題の詳細 症状 ADO.Connection.Openを開いているブック(マクロ実行ブックを含む)に対して実行すると処理に12秒程度の時間…
前回はダブルクリックで色を塗りたいブックに直接マクロを作成したが、これではこの機能を使いたくなった時に毎回ブックにコードを記載する必要があり手間である。 www.excellovers.com そこで自作アドインに上記の機能を取り込み、ボタン1つで使用できるよ…
メモ・旧コメントがシート内にたくさん増えてくると目障りになってきますね。 そんな時に簡単にメモ・旧コメントを非表示にする方法を紹介します。 メモの一括非表示 メモのインジケータを非表示 DisplayCommentIndicatorプロパティ メモの一括非表示 全ての…
変数って代入して初めて値が発生しているかと思いきや、宣言をしただけで値が入ってるんですよね。 今回は変数の型ごとの初期値を調べてみました。 変数の初期値一覧 早速だがこれが変数の型ごとの初期値一覧です。 型 初期値 String "" Boolean False Byte …
今までユーザーフォームに配置するコマンドボタン等のコントロール類は ユーザーフォームの作成時に全てきっちり配置していました。 というかその方法しか知らなかった。 ところがコントロール類はユーザーフォームのイベントと連動して動的に、 しかも簡単…
データベースに登録するTag情報をどうやって楽曲から抽出するか。 旧版のExcel Playerでは以下の方法で取得 ShellオブジェクトのNamespaceメソッドでFolderオブジェクトを作成。 FolderオブジェクトのGetdetailsofメソッドでファイルのプロパティを取得 Offi…
列が何十・何百とあるExcelシートでどこにオートフィルターがあるか迷ったことはないだろうか? 文字通り、「あれ、この辺りだと思ったけど」と右往左往したことはないだろう? 私はある。 現在進行系で悩まされている。 しかもまだ1・2ヶ月はこのシートと…
実際にExcelからSQLを使用するコードに沿って、コードの内容を紹介していきます。 Recordset の結果をシートに貼り付け タイトル行 データ部分 貼付け位置は自由自在 ベースとなるコードは下記のとおりです。 今回は「データの貼り付け作業」欄です。 Record…
前回までにDir関数とFilesystemObjectを利用したファイル検索を検証してみた。 www.excellovers.com www.excellovers.com 今回は最後にWindows APIの1つであるFindFirstFile関数をVBAから利用してファイル検索を実現してみたいと思います。 Windows API関数…
エクセルの神髄さんがtwitter(現X)上で出題されているSQL基礎問題にチャレンジしました。 2025-11-08時点で出題されている10問は一応全て解答することが出来ました。 模範解答についてはエクセルの神髄さんのblog記事をご参照ください。 excel-ubara.com 当b…
タイトルそのままですが。 今日試して撃沈したネタをご紹介します。 セル範囲を配列へ取り込み高速化 VBAでの処理高速化ネタの一つにセルへのアクセスを極力減らすというものがあります。 そのためにセル範囲を一旦配列へ格納してから諸々の処理を行うと処理…
※続編作成しました www.excellovers.com 以前の記事で新しいブックの作成時に表示できるWorksheetの最大値は255枚だと判明しました。 excellover.hatenablog.com では新しいブックの作成時に関わらず、追加できるWorksheetの最大枚数は一体何枚なのでしょう…
前回予告のうち、今回はExcel Playerに登録するMP3ファイルを、指定したフォルダ(サブフォルダ含む)の中から全検索する方法を紹介しようと思います。 FileSystemObject "VBA"でと言いつつ、今回はExcelとは違う外部の機能 『FileSystemObject』を使用してフ…
セル範囲を一括で配列に取り込んだ際などに、空白が紛れ込むことがあります。 そのような場合に配列から空白を除く方法を検証してみます。 空白のある元データ 簡単なデータを用意しました。 このセル範囲を配列に取込、空白の削除を行うのが以下のコードで…
先日こちらの記事を拝見しまして、無性に作りたくなりました infoment.hatenablog.com ExcelでCDと本の管理システム 例のごとく行き当たりばったりになりますが、少しずつ組み立てていきたいと思います。 管理システムを作成する理由 直接的な原因は上記のbl…
以前にコメントについてこのような記事を作成した。 www.excellovers.com コメントが挿入されたセルから遠く離れた移動したコメントをセルの近くに移動させ、なおかつセルから再び遠く離れにくい位置にポジショニングするマクロを作成した。 しかし下記のよ…
はじめに Excelのバージョンが365や2024等の新しいものではスピルという機能を利用した新しい関数使用可能です。 スピルという機能は『数式によって複数の値が生成され、その値が数式を入力したセルの隣のセルに配置されることです』 support.microsoft.com …
導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記の記事を参照してください。 お題 【SQL問題】以下のテーブル構成とサンプルデータに基づき、「分類ID,分類名」ごと…
SQLでシートの統合とクロス集計を行う今回のシリーズ。 「男性」「女性」2つのシートを統合する 統合したデータを元にクロス集計を行う 完成したデータをシートに貼付け 前々回はシートの統合、前回グループ化を行いました。 www.excellovers.com www.excell…
前回まででSQLite For Excelを使用する準備が整いました。 今の状態はこんな感じでしょうか。 今回は実際にSQLite For Excelを使用してSQLite3.dllへの接続までやってみたいと思います。 Sqlite3Demoに全てがある これからやることは基本的に全てSqlite3Demo…
Excelて表「計算」ソフトだから数字の扱い問題なくこなしてくれると思っちゃいますよね。 でも意外なところで正しく数字を扱えなくなります。 有効桁数 Excelは数字を数字として扱える(計算ができる)桁数に限界があります。 この状態で右端に「6」を追加す…
今回は以前にご紹介した以下のネタの合わせ技で、 excellover.hatenablog.com excellover.hatenablog.com 指定したフォルダ内(サブフォルダ含む)の全てのMP3ファイルの情報を抽出、 一旦セルに全て展開してみようと思います。 合わせ技コード 早速ですが2つ…
Excelでデータ集計をする際には真っ先にSQLでの集計を連想してしまいます。 しかし操作する対象がデータベースではなくExcelなので、思わぬところで蹴躓いてしまいます。 今回はデータの型判定についてです。 データベースの型 Excelでも書式設定等で列毎の…
私は職場で経理を担当していて、月次の資料を作る際に ・会計ソフトから仕訳データをCSVで出力 ・出力したデータをExcel VBAでSQLiteにインサート ・Excel VBAからSQLを使用してSQLiteから集計後のデータを出力してExcelへ転記後、関数を使用してフォーマッ…