Excelが大好きだ!

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


スポンサードリンク

VBA

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

紙の資料と画面の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…

Excelでビッグデータを乗りこなせ(8.テーブルの正規化のVBAコード)

前回はSQLiteで単一のテーブルで管理していたデータを、データベースの正規化を行い複数のテーブルに分割してみた。 www.excellovers.com 今回は実際に単一のテーブルを複数のテーブルに分割するコードを紹介したいと思います。 例のごとく早速コード Option…

マンゴー抽選にチャレンジ

VBA

フォロワーさんがこのようなものにチャレンジしているのを見かけた。 koroko.hatenablog.com 自分はあまりこういう演出系の処理をしたことがないのでチャレンジしてみた。 コード 例のごとく早速コード Option Explicit Sub マンゴー抽選() Dim MangoNum As …

Excelでビッグデータを乗りこなせ(7.テーブルの正規化)

前回はExcelとは異なるデータベースの独自要素を盛り込みつつSQLiteデータベース・テーブルを作成した。 www.excellovers.com 今回はデータベースの独自要素、「正規化」を考慮してデータベースを分割することにチャレンジしてみます。 正規化前のテーブル構…

Excelでビッグデータを乗りこなせ(6.SQLiteデータベースの作成)

前回はExcelとは異なるデータベースの独自要素を見てみた。 www.excellovers.com 今回からはその点を踏まえつつ実際にSQLiteデータベースの作成をしてみたいと思います。 ExcelでSQLiteデータベースを操作 上記を実現するためにExcel for SQLite使用する。 …

Excelでビッグデータを乗りこなせ(5.データベースの独自要素)

ADODBを利用してCSVファイルを操作する方法を検証した。 www.excellovers.com 今回からはそのCSVを取り込むためのSQLiteデータベースの設計・作成をしてみようと思います。 データベースならではの要素 今でもSQLiteデータベースを使用していますが、感覚的…

Excelでビッグデータを乗りこなせ(4.ADODBでCSV取り込みの準備)

前回でSQLiteへCSVファイルを取り込む方法をADODBで行うことを決定した。 www.excellovers.com 今回からADODBを利用したCSV取り込みの方法を紹介します。 会計ソフトの代わりに家計簿ソフト 今回のコードは会社で使用している会計ソフトから出力したCSVファ…

Excelでビッグデータを乗りこなせ(3.CSV取り込みの試行錯誤)

前回で使用するデータベースをSQLiteにすることを決定した。 www.excellovers.com 今回からCSVファイルの取り込み方法について試行錯誤していきたいと思う。 現状の取り込み方法 ・Querytables.addでCSVをExcelに取り込む ・取り込んだデータをSQLのInsert分…

Excelでビッグデータを乗りこなせ(2.データベースを決める)

前回華々しくビッグデータの大海原に漕ぎ出したわけですが、大海原を乗り越えるための船がまだ決まっていません。このままではあえなく溺れ死んでしまいます。 ビッグデータを乗り超えるための船 データベースです まずはこれを決めることから始めたいと思い…