Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

VBA

表データを操作する6つの方法(データフィルタ編)

シリーズ前回ではシートのデータを各機能に取り込み、そのまま別シートに貼り付ける動作を体感してみた。 www.excellovers.com 今回は取り込んだデータに絞り込みをかけた上で、別シートに貼り付ける動作を体感してみた。 6つの方法 時間計測関数 改 処理時…

Recordsetに高速でデータを追加する方法

VBA

最近このような記事を公開した。 www.excellovers.com その際にtwitterのフォロワーさんからアドバイスを頂いたので備忘録。 アドバイス コード差異箇所 高速化前 高速化後 AddNew 配列で高速化 Fieldsプロパティ AddNew 配列 処理速度 まとめ 全コード 高速…

SQLite For ExcelでSelect文のデータ件数を取得する方法

SQLite For ExcelにはADODB.RecordsetにあるようなCountプロパティがない。 ところがちょっとした工夫でデータ件数を取得する方法を見かけたので備忘録。 従来の対応 サブクエリ化 なぜレコード件数を取得するかと言うと、SQLiteから取得したデータを配列に…

表データを操作する5つの方法 + 1

前回は5つの方法で表データを操作してみた。 www.excellovers.com 次の抽出に進む前にもう1つ集計方法を追加してみる。 SQLite For Excel コード 処理時間 まとめ SQLite For Excel 当blogではおなじみSQLite For Excelを候補に加えます。 今回の事例のよ…

表データを操作する5つの方法を体感してみた

Excelと言えば表である。 VBAから表のデータをまとめて操作する方法としては配列が挙げられる。 ところが最近空のRecordsetを使用する方法があることを知って勉強しようと思った矢先に、ArrayListなる機能もあると知ってなにがどう違ってどう良いんだ~とな…

マウスカーソルを移動させるだけでセルに色を塗れるようにした

前回はtwitterのフォロワーさんから頂いたアドバイスを組み込んでみました。 www.excellovers.com 今回は別のフォロワーさんから頂いたアドバイスを組み込んでみようと思います。 淡々としたチェック作業ならシングルクリックやキー押下でセル色の設定・解除…

特定のセル範囲のみでダブルクリックイベントを発生するようにした

前回・前々回とセルをダブルクリックした時に色を塗るマクロについて紹介してきました。 www.excellovers.com www.excellovers.com 今回は紹介時にtwitterでアドバイス頂いた内容を実装してみようと思います。 範囲を限定する 標準モジュール EventGetクラス…

自作マクロイベント機能をいつでもどこでも使えるようにする方法

前回はダブルクリックで色を塗りたいブックに直接マクロを作成したが、これではこの機能を使いたくなった時に毎回ブックにコードを記載する必要があり手間である。 www.excellovers.com そこで自作アドインに上記の機能を取り込み、ボタン1つで使用できるよ…

セルをダブルクリックしたら色を塗るようにした

紙の資料と画面のExcelの数値をチェックしたりすることはないだろうか? 残念ながらありまくりである。 今回はこの作業を少しでも楽にできないかとアドオン作ったお話 現在の作業 シートイベントの活用 シートイベントの挿入 シートイベントの内容記入 Color…

Excelを開いたら自作リボンを最初に表示されるようにした

先日、このような記事を公開した。 www.excellovers.com 自作アドインのメニューだけで無く、Excelの標準メニューが表示されるようになったので、大変使い勝手が良いものになった。 ところが便利になって使用頻度が上がったことで1つ気になることが出てきた…

自作アドイン用リボンにExcel通常メニューも表示するようにした

秋口に今までツールバー(主にセル上右クリック)で運用していた自作アドイン達をリボンに移植しました。 順調に運用していたが、アドインタブから標準メニューのタブに移動するのが煩わしく感じるようになってきた。 幸いにもアドインタブはスペースに余裕が…

列挙型の足算

VBA

例によって本当に学びの多いVBA100本ノックから。 excel-ubara.com 神髄さんの解答例からの学びをご紹介 学びヶ所 Msgboxの場合 VbMsgBoxStyle列挙型一覧 StrConvの場合 VbStrConv列挙型一覧 まとめ 学びヶ所 上記の神髄さんの解答例から学びがあった箇所を…

オートフィルタがかかっている列を検索する機能の日付け検索のエラーを改修した

地味に便利に仕事の相棒となっている「オートフィルタがかかっている列を検索する」アドインですが、下記のようなエラーが残っていたので対応しました。 日付けで絞り込みしている列があるとエラー 色で絞り込みしている列があるとエラー コード 色の判定 日…

非表示の名前定義

VBA

前回に引き続きエクセルの神髄(@yamaoka_ss)さんが出題されている、#VBA100本ノックである。 今回は下記の問題にチャレンジした。 #VBA100本ノック 18本目不明な名前定義が沢山あるので、以下の処理をしてください。・非表示の名前定義は表示にする・参照範…

正規表現で特定の文字の前にある文字をヒットする方法

最近エクセルの神髄(@yamaoka_ss)さんが出題されている、#VBA100本ノック を時間を見て解答している。 今回以下の問題にチャレンジして自分なりの解答を出した後で模範解答を見たところ、非常に学びの多いものだったので備忘録。 #VBA100本ノック 16本目セル…

オートフィルタがかかっている列を検索する機能の不具合を改修した

以前にこのような記事を公開した。 www.excellovers.com ところが使用していると、エラーが発生することがある。 必ず発生するわけでもなく、なかなかタイミングと時間が合わなかったがやっとこさ原因の特定と改修出来たので備忘録。 原因はオートフィルタの…

コメントぴったりMoveにコメントリサイズ機能追加

以前にコメントについてこのような記事を作成した。 www.excellovers.com コメントが挿入されたセルから遠く離れた移動したコメントをセルの近くに移動させ、なおかつセルから再び遠く離れにくい位置にポジショニングするマクロを作成した。 しかし下記のよ…

SQLでデータを抽出するユーザー定義関数を作ってみた その2

先日SQLでデータを抽出するユーザー定義関数SQLSearchを作成した。 www.excellovers.com その後テストした際に追加したいと思った機能を追加してみた。 その際に風柳さん@furyutei には貴重なアドバイスを頂きました。 ありがとうございます。 例えば ADODB.…

SQLでデータを抽出するユーザー定義関数を作ってみた

Office365やExcel2019で新しく搭載された「スピル」と言う機能があります。 スピル機能を使うと複数の答えを返す関数を従来よりも圧倒的に簡単にセルに展開することが出来ます。 この機能と相性が良いのでは思っていた、ExcelのデータをSQL文で集計した結果…

VBAでSQLを使用する際にListObjects(テーブル)をFrom句に指定する方法 その2

以前にSQLのFrom句にテーブル名を指定する方法を紹介した。 www.excellovers.com 上記とは別の方法をtwitterでフォローさせて頂いている方が以前に紹介されていたのを見かけたので備忘録として記事にさせて頂く。 コード select * from [Range("個人情報").l…

Excelの勉強に皆さんが参考にされた書籍・サイト

VBA

先日このようなtweetをしたところ、30名程の方からご回答を頂きました。 「Excelをどういうきっかけで、どうやって勉強しましたか?」のまとめを公開しました!先日緩募したテーマにご回答頂いた内容を1箇所にまとめました。「Excelをどういうきっかけで、ど…

PostgreSQL・SQLite・Excel ADODBで使えるSQL文をまとめてみた

先日、こちらの書籍でSQL文を勉強してみた。 SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)作者:ミック発売日: 2016/06/17メディア: 単行本(ソフトカバー) その際にPostgreSQL・SQLite・Excel ADODB(ADODB経由でExcelをデー…

「ウィンドウ枠の固定」をちょっとだけ便利にしてみた

「ウィンドウ枠の固定」を利用すると表を下にスクロールしていっても、見出し行が隠れずに済むので、今度の列のデータを見ているか迷わずに済みます。 大変便利な「ウィンドウ枠の固定」ですが、ほんのちょびっとだけ不便な点があるんですよね。 一旦解除し…

オートフィルターがかかっている列を検索する機能にテーブルも検索できる機能を追加した

前回に引き続き機能の追加のお話。 www.excellovers.com オートフィルターと同じようにデータを絞り込む機能がテーブル機能にも備わっている。 しかし現状の機能のままではテーブルのフィルタがかかっている列を抽出することが出来ない。 さてここでシンプル…

オートフィルターがかかっている列を検索する機能を改良した

先日、タイトルまんまのアドイン機能を作成した。 www.excellovers.com 公開したところtwitterフォロワー様から以下の様の意見を頂いただので早速(パクって)改良してみた。 私も職場では横に長~~~~いテーブルを多用しているんです。でも気が付きませんで…

オートフィルターがかかっている列を検索する機能を作った

列が何十・何百とあるExcelシートでどこにオートフィルターがあるか迷ったことはないだろうか? 文字通り、「あれ、この辺りだと思ったけど」と右往左往したことはないだろう? 私はある。 現在進行系で悩まされている。 しかもまだ1・2ヶ月はこのシートと…

オートフィルタ適用状態の最終行の取得方法

最終行の取得方法というと Range("A" & Rows.Count).End(xlUp).Row のようなコードを使用するが、オートフィルタ適用時には思ったような答えを返さない。 このような表があるとする。 オートフィルタ設定前に確認すると最終行は11である。 オートフィルタ…

ADODBでExcelを操作する時の列毎の型判定の基準

VBA

Excelでデータ集計をする際には真っ先にSQLでの集計を連想してしまいます。 しかし操作する対象がデータベースではなくExcelなので、思わぬところで蹴躓いてしまいます。 今回はデータの型判定についてです。 データベースの型 Excelでも書式設定等で列毎の…

ExcelとExcel VBAでの改行の違い

VBA

Excel VBAにおいて改行というと vbCrLf や vbLf が紹介されている。 これらの定数はどんな違いがあるのだろうか? 改行に関わる定数 定数 値(文字コード) 内容 vbCrLf Chr(13) + Chr(10) キャリッジ リターンとライン フィードの組み合わせ vbCr Chr(13) …

ADODBを利用して指定した件数ずつ新しいシートにデータを転記する方法

いつも勉強させていただいているinfomentさんのblogで以下のような記事を公開されていました。 infoment.hatenablog.com ADODBにまさに上記のような機能があったはずと思いだして自分なりに作ってみた。 早速コード Sub ページ分割() '参照設定でMicrosoft A…