t-hom’s diary

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

2015-03-01から1ヶ月間の記事一覧

飛行機をリアルタイムで追跡するアプリ

先日の事故を受け、改めて飛行機が怖いと思った。自分が乗る時は、まぁ割と楽観的に構えて居られるけど、知人が乗っていたりするとやはり心配になる。そろそろ飛ぶ頃かとか、もうすぐ着陸かなとか色々考えてしまうのだが、さきほどそんな心配を少し和らげて…

海外旅行用の大きいスーツケースはレンタルがオススメ

今回のタイ旅行にあたり、スーツケースはレンタルすることにした。 業者はこちら。 www.cucoo-rental.comスーツケースを持っているならそれを持って行けばいいのだが、前回の旅行から数年使わなくてスペースだけ占有していたので捨ててしまった。どうせまた…

Wordのフィールドコードで先月を表示させる

業務で利用する手順書にSQLが書かれているが、実行する際にyyyyMMの部分を先月の値に書き換えなければならない。 select * from test_tbl where code like 'yyyyMM%' 実際に使用するSQLはもっと複雑で、編集箇所も多いので非常に面倒くさい。Excelなら関数で…

VBA 動的配列で要素数を意識せずに拡張する方法

VBA

動的配列は便利であるが、その扱いは少々面倒くさい。Collectionなら、何番目の要素かを意識せずにAddできるが配列では要素の指定が必須だからである。そこで、Ubound関数を使って要素数を意識せずに動的に拡張するコードを書いてみた。 別に裏技でも何でも…

VBA InputBoxを使ってマクロの誤実行を防ぐ

VBA

よろしいですか? はい本当によろしいですか? はい本当に本当によろしいですか? はいいくら重要な処理であっても、ここまで確認されるのは鬱陶しい。 まあ、先日の航空券では、これくらい聞いて欲しかったけど。(以下参照) さて、今回は誤って意図しない処…

改訂第3版 VBAリボンから呼び出すマクロに共通の前処理をつける方法

今日また違うやり方を思いついたので公開。 前回の記事はこちら。 マクロに共通処理をつけるところまでは前回の処理でうまくいっていたが、今回仕事で作成したアドインでグループごとに別の共通処理を呼び出す必要が出てきた。それで考えたのが、tagで共通マ…

絶版良書 WordのVBA本

とある日の、きぬあさ氏のツイートより。VBAの本を見るのが好きです。特に、10年くらい前に出版されて今はとっくに絶版になってるWordマクロの本とかを見るのが良い!— きぬあさ (@kinuasa) 2015, 3月 1このあと具体的に本を教えていただいてAmazonで発注し…

VBAで、C言語のprintfのように\nと%sをサポートする関数を作る。

VBA

今回はVBAでC言語のprintfもどきをやってみたいと思う。※ちなみに\は円マークである。環境によってはバックスラッシュに見えるかと思うが、間違えてスラッシュにならないよう注意。 C言語を知らない方向けに Cのprintf命令は、print formattedから名前がつけ…

法律用語「または」と「もしくは」の使い分けをVBプログラマーに説明してみる

今回はプログラミングと直接関係ある話ではないけれど、VBプログラマー向けに書いた。実は最近、法律に興味があって少し勉強中。(仕事にする気は無いが何かと役に立つので) それで初めて知ったのだが、「または」と「もしくは」には厳密な使い分けが存在する…

改訂版 VBA リボンから呼び出すマクロに共通の前処理をつける方法

先日書いた記事に対し、アドバイスをいただいたので早速改訂してみた。これはtag属性(IRibbonControlオブジェクトのTagプロパティ http://t.co/E0I3G8RqZm )の値を使った方が良さそう。 [VBA リボンから呼び出すマクロに共通の前処理をつける方法] http://…

VBA ボタンから呼び出すマクロに共通の前処理をつける方法

VBA

前回の記事で、リボンから呼び出すマクロに共通の前処理をつける方法を紹介した。 同じことは、ワークシートに配置したボタンでもできる。 今回は、以前に紹介したマクロでボタンを作る方法を使ってやってみたいと思う。 コードは以下の通りで、標準モジュー…

VBA リボンから呼び出すマクロに共通の前処理をつける方法

VBA

最近仕事で、特定のシートが選択されているときだけ実行できるマクロを作った。 とあるExcel台帳を効率的に処理するためのマクロだが、私はその台帳を作り替える権限が無いので、勝手にボタンなどを配置することはできない。 そこで、台帳そのものに変更を加…

航空券、英字氏名の一文字間違いで5500円支払うハメに。。

今回はプログラミングと関係ない話。ものすごく、アホなことをしてしまった。 さっき海外旅行の格安航空券を予約していて、まさか間違えるはずのない自分の名前を間違えて手配してしまった。mとnの入れ間違いである。 調べて分かったが、パスポートと1文字で…

本家VBに学ぶVBAのコーディング手法 その2

VBA

今回は変数のスコープについて。 スコープというのは変数の有効範囲のことで、宣言された場所から参照できなくなる場所までを指す。 このスコープはVB.NetとVBAでは大きく異なる。たとえば、VBAで以下のコードはOption Explicitをつけていたとしても普通に実…

本家VBに学ぶVBAのコーディング手法 その1

VBA

VBAをある程度書けるようになったら、本家VB(VB.Net)もやってみると良い。 VBはコードの見た目がVBAと似通っており、比較的スムーズに学習できる。 また、似ているぶん違いがはっきりするので、VBAに何が足りないのか、そしてVBAで書く場合に何に気をつけな…

VBAでジャグ配列(多段階配列)を作るには

VBA

私の愛読ブログ、定時にカエルVBA(既に閉鎖)にジャグ配列を判定する関数を作成したいという記事が。どうも引数としてジャグ配列を取るために、渡されたものがジャグ配列かどうかを判定しようとしているらしい。VBAにジャグ配列ってあるの?って疑問を持たれ…

オススメ:ストーリーで学ぶExcel VBAと業務改善のポイントがわかる本

この本、入門書なので書店で見かけてもスルーしていたけど、ツイッター経由でたどりついたサイトで絶賛されていたのでおもわず買ってしまった。ストーリーで学ぶ Excel VBAと業務改善のポイントがわかる本 【演習問題付き】作者: 武藤玄,オデッセイコミュニ…

本のタイトルって、著者がつけるんじゃないの?

今回はVBAとは関係ない話。アマゾンでExcel関連の本を見ていたら、こんなレビューを見つけた。 「目から鱗・・・のようなテクニックが多く参考になります。以下問題点。(中略)たった1日で 即戦力 は無理です。安易なタイトルです。読者を煽る事はやめてくだ…

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