2015-02-01から1ヶ月間の記事一覧
先日、インストラクターのネタ帳で以下の記事が公開された。Excel VBAのIf文で、X以上かつY以下/未満というAND条件を指定する:エクセルマクロ・Excel VBAの使い方これに対し、エクセル セミナー 講師の山岡さんから、If文の条件が重複しているとのツッコミが…
VBAの初心者が書いたコードは、どうしても冗長になってしまう。知識は無くてもなんとか目の前の業務を楽にしたいという思いで、ネットからコピーしたりマクロの記録コードをつかったりしながらやっとの思いで仕上げたマクロ。私もVBAを始めた当初は、いわゆ…
Next文の変数は省略できるが、そもそも何のためにあるのか疑問だった。しかし先日ネストされたFor文内が60ステップ超もあるコードを見て、なるほど制御変数が無いと、どのForに対するNextなのかこんがらがると思った。 いろんな人がメンテしているから、3タ…
今回はイミディエイトウィンドウを使用してマクロでマクロを出力してみる。まずはイミディエイトウインドウの使い方を紹介しようと思う。イミディエイトウインドウに 「?変数」と入力すると、その変数の値が表示される。「?オブジェクト.プロパティ」でも良…
ブック自体に設定を行うことなく、どのブックを開いたときにも読み取り専用の確認を表示させるためには、他のブックのイベントをキャッチするというテクニックが必要となる。それをするには、Excel自体をイベント付きの変数に格納してしまえば良い。 アドイ…
今日はほろ酔いのため手短に。書店でいつも手にとっては棚に戻すVBA本がある。 気になるのでそのうち買いたいが、4月ごろに大きな出費を控えているためなかなか手がでず。アルゴリズム大事典 (I・O BOOKS)作者: 橋本英美出版社/メーカー: 工学社発売日: 2013…
※本人の意図を代弁するものではありません。Office TANAKAの田中亨さんが代表理事を務める実践ワークシート協会のサイト(http://www.pwa.or.jp/)に以下のようなキャッチコピーがある。 マクロの速度なんて二の次。 裏技を使ってマクロを1分速くした。それを…
パスワードを発行して通知する場合、i,l,1や0,Oなどの紛らわしい文字を確実に伝えるために、カタカナで読みを付けることがある。 そこで今回は、"a"を渡すと"エー"が帰ってくる関数を作りたいと思う。こういう方法が一般的だが、 Function GetPhonetic(Chara…
今回は雑学的な話。 しかも間違ってるかもしれないので、鵜呑みにせずあくまで一つの仮説として読んで欲しい。私が超初心者のころは、よくある勘違いとして、マクロの記録機能をマクロだと思っていた。でも今回はそんな勘違いの話ではない。一般的なマクロと…
ExcelでのIE操作クラスを作成中。 といってもただのIEラッパーで、読み込み完了処理を隠蔽してVBA初心者にも使いやすくするのが主目的である。私がVBAでIE操作を始めた頃はインターネット上で調べるしかなくて、まずいサイトにあたるとコードが不安定だった…
今回はWord VBAネタ。Wordで業務マニュアル等を作っていると、スクリーンショットの一部を赤枠で囲うことがよくある。 通常はオートシェイプで塗りつぶし無しで作るが、この赤枠は枠の部分しかマウスで掴むことが出来ず、移動させるつもりがリサイズしてしま…
最初に私の置かれた環境について説明する。立場が異なれば意見が異なるのは当然なので。私はシステム運用の仕事をしているので、会社の端末に開発ツールの類をインストールすることは一切禁止されている。そのような状況下で何かしら作業を効率化しようと思…
海外のサイトで、自作のクラスにデフォルトプロパティを設定する方法を発見した。 (リンク先は英語) http://www.cpearson.com/excel/DefaultMember.aspxデフォルトプロパティとは、クラス名だけで参照できるデフォルトの値のことである。 たとえば、ExcelのR…
まぁ、VBAでどうにもならないってのは当然予想していた結果だが、たまに見かけるアスペクト指向とは何なのかが少し理解できたので紹介する。簡単に言うと、オブジェクト指向の弱点を克服すべく生まれた新しい手法である。 (新しいとは言っても登場してから…
タイトルにコンストラクタとあるが、正確にはコンストラクタもどきである。先日VBAのAriawaseライブラリのCore.basに書かれたInitのコードに感銘を受けた話を書いた。 ただ、私の個人的な好みとしては、外部DLLの参照よりはVBAの基本機能だけで解決してしま…
またVBA本を買ってしまった。EXCEL VBA 1行コード活用辞典 (CD-ROM付き)作者: 土屋和人出版社/メーカー: 技術評論社発売日: 2006/05/02メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見るVBAの書籍は、入門書ばかりで中~上級者向けのもの…
VBAでセルを指定する時、RangeプロパティとCellsプロパティがあるが、Cellsは列に対応する数字が直感的に分からないので、これまでは敬遠してきた。 しかし、この列指定を列挙型に変えたら、劇的にわかりやすくなったという話。Excelでこんな表を作ったとす…
treeviewの使い方に関しては、以下のページが詳しいのでそちらを参照されたし。Office TANAKA - Excel VBA Tips[TreeViewコントロールの使い方]さて、このTreeViewであるが、困ったことにフォームのエクスポートをすると壊れてしまい、張り直しが必要である…
さて、今日は色々なところで紹介されているVBAのスーパーライブラリAriawaseについて。Ariawaseについて知らないVBA使いの方は、こちらに詳しく解説されているので参照されたし。 ※2015年8月現在、参照先が消滅しました。Ariawaseについてはネット検索等で調…
作ったのは2014年の後半だが、今更ながら公開することにした。 (当時はネット上で何かを公開するという発想を持っていなかった。)紹介動画はさっき作ってYouTubeにあげたもの。 ※ただなぜか再生ボタンを押すとセーフモードで閲覧できないと表示される。 Ex…
デザインパターンの学習は順調である。いまのところそれについては語るネタがないので、今回は以前よく作っていたVB.NETのネタ。 バージョンはWindows 7標準の.Net 3.5.1以上をターゲットにしている。 Excel VBAに貼り付けても動かないので注意。 C#のサンプ…
Eclipseの基本操作が分かったところで、2年ほど放置してた積ん読本(以下)でデザインパターンの学習を始めた。増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入…
VBAはクラスを継承することができないが、インターフェースを作成することでポリモーフィズムを実現させることができる。元ネタはこちらのサイト 4.5 インターフェース継承による開発 - EXCEL-VBA開発講座 VBAに関しては入門者向けの情報が多いなか、高度な…
はじめに断っておくと、実際にVBAのコンストラクタに引数を渡す裏技は無い。 タイトル詐欺で申し訳ない。 2015/2/15追記 これより後の記事で、もう少しスマートなやり方を発見している。(以下リンク) VBAでインターフェースを使って引数付きのコンストラクタ…
2013年に収録して寝かせていた動画を、公開することにした。入門書はひととおり終えたけど、実用的なプログラムをどうやって作るのか見当がつかないという方に見ていただければと思う。Excel VBA 実用プログラム作成プロセスの紹介 - YouTubeいろいろ失敗し…
昨日のJava本の件、レビューしてきた。 amazonカスタマーレビュー初投稿!こんなメールが届いた。 ふむ、テンプレートとはいえ、感謝されるのは悪い気はしない。 しかし数百万人が喜ぶってのはちょっと持ち上げすぎじゃないか?ほら。 日本にプログラマは何…
昨日、この書籍を入手した話のつづき。 書籍のCD-ROMからEclipseのインストールを実行したが、これが大ハズレ。書籍の説明ではSetup.vbsを実行すると初回はJDKがインストールされて、次回にSetup.vbsを実行した際はインストーラが起動することになっている。…
Excelアドイン用のリボン作成方法を動画にしてみた。マシンが非力なため、画面録画したwmvをmp4にするだけで1時間弱。。 色々スマートでないところはあるが、撮りなおしの気力はないので、そのままエイッExcel アドイン用のリボンを作成する - YouTube※文字…
ちょっとWebでVBAチュートリアルから脱線して、ExcelでRoboCodeもどきを作成中。 ※表示がやや乱れてるのはGIFを圧縮したため。RoboCodeで楽しくJavaを学習できるので、VBA版ができればVBAの学習に良いのではないかと思った次第。 今のところ同時に単一動作し…
Excel VBAでシートを指定するには、名前指定・インデックス指定・オブジェクト名の直接指定がある。 最後の方法はあまり知られていないと思うが、とても便利なので是非活用してみてほしい。 一応おさらいとして、名前指定とインデックス指定のコードも掲載し…