2015-09-01から1ヶ月間の記事一覧
先日購入した英語のVBA本にVBAが内部でどのようにString型を扱っているのかが詳しく書いてある。 thom.hateblo.jpどうやらVBAのString型とはByte型の配列と等価であるらしく、相互に代入できるようだ。 Dim ByteArray() As Byte ByteArray = "Hello" Debug.P…
私はAmazonアソシエイトを利用しているが、そこから以下の書籍の購入があった。VBA Developer's Handbook作者: Ken Getz,Mike Gilbert出版社/メーカー: Sybex発売日: 2001/04/25メディア: ペーパーバック クリック: 18回この商品を含むブログ (1件) を見る過…
個人情報を扱うプログラムを作成しているといつも悩むのが性別をプログラム内部で扱う際のデータ型だ。文字列型で"男"・"女"としたり、Int型で1・2とするやり方もあるが、これだと他にいろんな値を取りうるので、バグの元になりかねない。そこで2値をとるBoo…
先日から取り組んでいた以下の書籍を読みおわった。Excel VBAでパズルを解こう作者: 坪崎誠司出版社/メーカー: 株式会社プレスティージ発売日: 2010/07/06メディア: 単行本(ソフトカバー)この商品を含むブログを見るChapter9まであって、1は順列の基礎、2…
今回は私の愛読ブログ(定時にカエルVBA!閉鎖)の主であるコーヘーさんのツイートに触発されての記事。氏いわく、 コマンドラインの良さがわかってきた! とのこと。そういえば私も一時期自宅でリナックスをメインに使っていてどっぷりコマンドの魅力にはまっ…
昨日作成したCupクラスを使って、バックトラック法で油分け算を解いてみた。 thom.hateblo.jpバックトラック法というのは、例えば迷路などで分かれ道に差し掛かったとき、とりあえず片方に進んで行き止まりだったら一つ前の分岐点まで引き返すという方法。 …
今取り組み中の以下の書籍で、油分け算というパズルが登場する。Excel VBAでパズルを解こう作者: 坪崎誠司出版社/メーカー: 株式会社プレスティージ発売日: 2010/07/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る3リットル、5リットル、8リ…
先日から取り組んでいる以下の本の続き。Excel VBAでパズルを解こう作者: 坪崎誠司出版社/メーカー: 株式会社プレスティージ発売日: 2010/07/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る今回の課題は魔方陣を作ること。 魔方陣とは、3×3…
その1ではOperatableNumberというオブジェクトを作成した。 thom.hateblo.jp似たような内容になるが、今回はOperatableStringを作成してみようと思う。 ※なお、サンプルなので変数の型などは一部省略している。クラスモジュールを追加し、以下のコードを追加…
以前以下の記事で書いたものは、デフォルトプロパティの設定だった。 thom.hateblo.jpしかしその後、海外のサイトでさらにすごいテクニックを発見。 http://www.papwalker.com/ref101/ccol.htmlかいつまんで説明する。まずクラスモジュールを作成し任意のク…
具体的、抽象的という言葉について 一般的には、「具体的でわかりやすい」とか、「抽象的でわかりにくい」という使い方をする。具体的でわかりづらい、抽象的でわかりやすいと言われても、「は?」と思う方が大半だろう。ただプログラミングのような緻密な作…
今回の記事は、先日取り組んだ以下の書籍のつづき。Excel VBAでパズルを解こう作者: 坪崎誠司出版社/メーカー: 株式会社プレスティージ発売日: 2010/07/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る前回作成したプログラムは、順列数が固…
過去記事で、すべての行はステートメントであり、省略せずに書くとLetやCallが付くことを説明した。thom.hateblo.jpLetについてはプロパティプロシージャでの使用が大半で、代入にわざわざ書いている人はあまり見たことが無い。 Subプロシージャ呼び出しの場…
今回も雑学ネタ。特に役立つ話ではない。以前からVBAの正体が気になって仕方がなかったが、昨日ようやくその正体を突き止めたので書き留めておく。まず、VBエディタのツールから参照設定をすると、そこにVBAがいる。 VBAへの参照設定はどうやっても外すこと…
今回は、ただのお遊びである。役に立たないばかりか、下手に参考にすると有害である。 VBAにはGoTo命令がある。On Error GoToのことではなく、普通のGoToだ。決して「活用しよう」などと思ってはいけないが、遊びでコードを作る分には頭の体操になって良いか…
関数とは何か まずプログラミングにおける関数とは何かということを、はっきりさせておきたい。私は関数を「外部から何かを受け取り、加工して返すもの」と認識している。たとえば平方根を返す関数Sqrなどは、2を受け取るとルート2の値(1.4142135623731)を返…
先日買った以下の書籍に取り組みはじめた。アルゴリズム大事典 (I・O BOOKS)作者: 橋本英美出版社/メーカー: 工学社発売日: 2013/11/01メディア: 単行本この商品を含むブログ (3件) を見る序盤に足し算だけで掛け算をするという問題があるが、普通に書くとこ…
皆さんはマクロで表のヘッダーを作成するときにどういう風にされているだろうか。もっともシンプルなのは、ひとつずつセルのValueを設定していく方法だ。 Sub ヘッダー設定A() Range("A1").Value = "氏名" Range("B1").Value = "住所" Range("C1").Value = "…
昨日書店で久々にVBA エキスパートの公式テキストを読んでいたら、用語の説明でおかしなところに気づいた。VBAエキスパート公式テキスト Excel VBA ベーシック [模擬問題プログラム付き]作者: 田中亨出版社/メーカー: オデッセイコミュニケーションズ発売日:…
先日フラッシュ足し算を作った話を書いた。 thom.hateblo.jpしかし、キーボードがテンキーレスなので数字専門で入力するにはつらい。 私のPC環境はこちら↓ thom.hateblo.jpたまたまヨドバシに寄ったので、テンキーが欲しいなと眺めつつ、いろいろありすぎて…
ときおりFizzBuzzを書きたくなる。 FizzBuzzはプログラマーにとって初歩的な題材である。 しかしいろいろと工夫の余地があって面白い。今回はSelect文を活用する方法を思いついたので、それを使って書いてみたい。 できたコードはこちら。 Sub thomFizzBuzz(…
私の部屋には爪切りが3個ある。部屋が散らかってくるといつもどこかへ行ってしまうが、捨てたわけではないので片付けをしたタイミングでまた見つかったりするからだ。このように、部屋が整頓されていないと、同じものを二個・三個買ってしまったりする。一方…
VBエディターの標準設定でマクロを書くとこのように表示される。一応キーワードに色は付いているが、私のディスプレイ設定では黒との違いがあまり目立たない。 また、文字の線が細いため見づらい。さらに、行間がやや詰まって見えるので適宜スペースを入れた…
手作業をマクロ化することで、何時間もの作業を数秒~数分で終わらせることができる。 この大きな時間削減に比べれば、マクロの実行速度が速いか遅いかなどというのは、些細なことのように思える。しかし、関西人というのはせっかちな生き物で、画面が固まっ…
先日からこの本にトライしているのだが、、Excel VBAでパズルを解こう作者: 坪崎誠司出版社/メーカー: 株式会社プレスティージ発売日: 2010/07/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る17ページ~の汎用的な順列作成というのがどうも…
マクロが遅い原因は、だいたいループにある。以下のようなマクロを実行すると、私の環境ではだいたい5秒くらいかかった。 Sub サンプルマクロ() For i = 1 To 9999 Sheets(1).Cells(1, 1).Value = i Next For j = 1 To 9999 合計 = 合計 + j Sheets(1).Cells…
以前購入して積ん読書になっていた以下の書籍に取り掛かった。Excel VBAでパズルを解こう作者: 坪崎誠司出版社/メーカー: 株式会社プレスティージ発売日: 2010/07/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る最初の問題は順列の出力。順…
この記事の元ネタはVB.NETやC#に関してのもの。 「どぼん!」さんのサイト「DOBON.NET プログラミング道」で見つけた。 小数(浮動小数点数型)の計算が思った結果にならない理由と解決法、Decimal型はいつ使うか?: .NET Tips: C#, VB.NET最初、「えっ?こ…
【注意】この記事は推測を含み、事実とは異なる可能性があります。とあるブログ(既に閉鎖)で、Exp関数に1を与えてi乗してLogを取ると、iが8と16のときに不一致になるとの報告があった。 数学的には、一致するはずである。これは面白い発見だ。実際に検証して…