えくせるちゅんちゅん

ことりがエクセルをちゅんちゅんするブログ

VBA

VBAに関する記事すべて

WinAPIの64bit化で出てくるPtrSafe、LongLong、LongPtrってなんなのさ?

WinAPIを64bitに対応しようとした時に絶対に覚えなくてはならないのがLongPtrである。 Declare文の64bit対応に関しては以前次のような記事を書いたが、LongPtrの置き換えの考え方に関しては一切説明できなかった。 今回は64bit対応のためにPtrSafe/LongPtrが…

VBAのクラスでNewと同時に引数付きコンストラクタを起動する代替案

VBAのクラスをNewと同時に引数付きコンストラクタを起動する方法を、思いつく限りの方法をまとめておく。

次元数がわからない配列変数の処理をシンプルにするVBA関数

今回は次元数の分からない配列に対して共通の処理系で全て処理できるようにするVBA関数を作ったので紹介する。

VBAのクラスの作り方1 - 進化するRECT

VBA

この記事は、ユーザー定義型のRECTが俺俺Rectangleクラスに進化していくまでの一連の流れを解説したものである。 メモリっぽいイメージ描いて頑張って説明しているが、「自身がなんとなく納得」するために描いたもので、正確なイメージではないので注意され…

ExcelVBAで確実にWorksheet.AutoFilterを取得する関数

今回はExcel VBAでAutoFilterオブジェクトを取得する方法について調査した結果を報告します。

VBAで多重ループから脱出する方法の全て

VBA

昨日、id:Infoment さんの「多重ループからの脱出」を読んで、たまに使っているテクニックを思い出したので、紹介するついでに思いつく限りの方法を整理してみた。 infoment.hatenablog.com はじめに 一般的によく見かける多重ループからの(純粋な)脱出方法…

書評 パーフェクト Excel VBAを読んで

半年以上前に入手したタカハシさん著の「パーフェクト Excel VBA」ですが、ようやく読み終わりましたので読書感想文を書かせていただきます。 パーフェクトExcel VBA (PERFECT SERIES)作者:高橋 宣成発売日: 2019/11/25メディア: 単行本(ソフトカバー)

ExcelVBAでオートフィルタで絞り込んだデータの行数をカウントする

ExcelVBAでオートフィルタで絞り込んだ結果、表示されているデータの行数をカウントする方法について説明する。 要望 最適解 回答例 各行の表示状態を確認して非表示のものを数える オートフィルタの設定されたセル範囲のうち、可視セルだけ絞り込んでから行…

VBAクイズ プログラムの誤りを指摘せよ!

先日、Twitterにて #VBAクイズ を出題しました。このクイズの解答について解説していきます。

ExcelVBAでお賃金コストチェックアドインを作ってみた

朝起きてTwitterを見たら、「会議をするときは参加者の時給から会議コストを算出しなさい」という話が出ていたので、私もリアルタイムにコストを表示するツールを作ってみました。

文字列中の濁音を清音に変換するVBA汎用関数を作ってみた

GW1日目。今日は自作の文字列処理ライブラリに入っていた濁音を清音に変換する関数が、あまりにイケてないので書き直してみました。

ExcelにGoogle Spreadsheetを読み込むVBA汎用関数を作ってみた

今日はGoogle Spreadsheet(グーグルスプレッドシート:通称スプシ)に記載された表を、Excelに取り込むためのVBAを書いてみた。 きっかけ 作ったもの ソースコード 解説とか IsPlane=True(加工なしの場合どうなるか) 問題とか まとめ きっかけ 最近になっ…

VBAでよく使うCreateObjectや参照設定を整理してみた

VBAで使ったことのあるCreateObjectや参照設定を整理してみました。

VBAで快適にレジストリ操作ができるクラスを作ってみた

今回はVBAのレジストリ操作を快適にするクラスを作ってみたので紹介します。

Excelの入力規則のリスト選択を簡単にするアドインを作ってみた

今日はExcelの入力規則のリスト選択の使いづらさを改善するアドインを作ってみたので紹介します。

ExcelVBAのHyperlink.Addで表示文字が変わらない

日はHyperlink.Addで表示文字が思ったように表示されなくてハマったので、使い方を記録として残しておく。

Excel VBAにおける伝家の宝刀。Evaluateの使い方

今回はExcel VBAにおける伝家の宝刀。Application.Evaluateメソッドを紹介します。

VBAの参照設定は個人用マクロを使うと快適になるよ

VBAを使っていると「参照設定」をしなければならない場面が多々あります。 ネット上で拾ってきたコードをコピーして使ったら、それが参照設定が必要なコードで必要なライブラリを調べて、設定画面でライブラリを探し出してチェックを入れるのが億劫になって…

特定のエクセルウィンドウだけを並べて表示する関数を作ってみた

先日、特定のエクセルウィンドウだけを並べて表示するVBA関数を作ったので紹介する。

ExcelVBAのCurrentRegionにはバグがある

先日、Excel VBA のCurrentRegionにはバグがあるらしい情報を耳にしました。 実際に私の手元の全ての環境で再現できたため、勝手にバグとして認定し公表します。

Excelの作業グループ禁止アドインを作ってみた

~快適なExcel生活のためには手段を選んでいられません~ のアドイン第二弾! 今日はExcelの【作業グループ】を禁止するアドインを作ってみました。 これを導入すれば、あなたの身を【作業グループ】から完全に護ります! _人人人人人人人人人人人人人_>…

Excelのセル結合禁止アドインを作ってみた

~快適なExcel生活のためには手段を選んでいられません~ 今日はExcelのセル結合を禁止するアドインを作ってみました。 これを導入すれば、あらゆるブックからセル結合を完全に駆逐できます! もう二度とセル結合に苦しめられることはありません! さぁ皆も…

VBA開発環境(VBE)にオリジナルの機能を追加する

VBA開発を行うに当たって、特に厄介な課題の一つとして挙げられるのが「開発環境であるVBEがショボすぎる」という事である。 VBEをカスタマイズする方法は色々あるが、ここでは「開発環境(VBE)にコマンドを追加して自作のVBAプログラムを実行する」方法を…

神Excelの罫線作図支援ツールを開発する part1

今回は紙エクセル対策で必要な罫線作図ツール開発の序章です。 本記事はSpredsheets/Excel Advent Calendar 2019 の4日目の投稿です。(みんな参加してね!) (実際には12/1に公開した記事ですが) 3日目は Silloi (id:silloi) さんの「Google Spreadsheets…

SpecialFoldersの引数にString型変数を指定すると意図した通りに動かない

VBA

思わぬ挙動でびっくりしたので書き残しておく 詳しい本文はまた今度追記する。 何らかの演算をすることで、Variantに暗黙的に変換されるんだろうな。 'SpecialFoldersの引数にString型変数を指定すると誤動作する。 Sub Test_SpecialFolders() With CreateOb…

ワークシート用ユーザー定義関数は使い方を誤ると危険である

VBAで作るユーザー定義関数の第三弾。 ここまでユーザー定義関数を推しておいて今更だが、私は多用するのはオススメしていない。 今回はユーザー定義関数の何が危険なのかを説明する。

VBAのコメントの書き方の試行錯誤

VBA

当然のことではあるがプログラミングに於いて、コメントを残すことは非常に重要である。 ここでは私が個人開発をする中で「コメントを残しておいて良かった。」と思った事を、独り言として書き残しておく。 コメントを残して良かったと思う時 なぜこのように…

VBAでの広域コメントアウトの代替案

VBAにはCのような開始位置と終了位置を明示して広範囲をコメントアウトを行う記法が存在しない。 それでも広範囲コメントアウトを行いたい人のために、私はディレクティブの活用を提案したい。 VBAのコメントアウトについて まずはVBAで使える二種類のコメン…

VBAで戻り値のある複数シートをコピーする関数を作ってみた

今回はVBAで戻り値のある複数シートをコピーする関数を作ってみたので紹介します。

Outlookでメール受信者がローカルパスをクリックできるようにUNCパス化するマクロを作ってみた

Twitterにてアイディアを頂いて、昨日とは別の方法でOutlookのメール受信者がリンクをクリックできるようにするマクロを作ってみた。

プライバシーポリシー