t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

2016-11-01から1ヶ月間の記事一覧

プログラミングの初期学習に写経が効く理由

新しいプログラミング言語を学習するにあたり、私がいつもはじめにするのはサンプルコードを見ながらそっくりそのままコーディングする、いわゆる写経である。書籍でコードをみていくら考えてもわからなかったことが、実際に自分でタイプしてみると「ああな…

VBA 自分と同じクラスの新規オブジェクトを返すメソッドを作ってコレクションにスマートに代入する

VBAではコンストラクターに引数を渡すことができないので、一旦オブジェクトを作ってから値をセットするという二度手間が発生する。今回はその手間を省くべく、引数をもとにオブジェクトを自己複製するメソッドを作ってみた。まずクラスモジュールを挿入し、…

VBA 標準モジュールのマクロを読み取って起動時にVBEのメニューに自動登録するアドインを自作する

今回は、指定の標準モジュールにマクロを書いておくとブックの起動時にVBエディタのメニューに自動登録してくれるアドインを作る。 VBエディタのメニューから実行するマクロなので、主に開発支援のためのコードを登録すると便利。 アドイン化することで常にV…

VBA クラスモジュールをゴミ箱代わりに使って複数列を一気に削除する方法

先日Excel方眼紙で作成された表を1データ1列の綺麗な表に変換するために、空白行を削除するというシチュエーションが発生した。以下は今回のマクロ紹介のために作成したダミー。全国の郵便番号データから無作為に100件選んだものである。 上記の表では列が結…

VBA WBSのように大中小カテゴリで階層ごとに結合されたセルをマクロで扱う方法

VBA

※WBSとは、Work Breakdown Structureのこと。プロジェクト管理なんかで使われる、仕事を段階的に細分化した表だ。まぁWBSのようにと言っておきながら、適当なサンプルが見つからなかったので全然WBSじゃないけど。Wikipediaから鳥類の分類表を拝借してきた。…

VBA 苦労して作ったマクロを操作ミスで消してしまったあなたへ、これはチャンスだ

2~3時間、あるいはもっと時間をかけて作ったマクロを、操作ミスで消してしまうことがある。 「うっかりxlsxで保存してしまった」などは代表的なミスである。ネットを探し回り、エラーと格闘して、必死の思いでやっと動くプログラムができたところで消えてし…

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。